drone-ssh/DOCS.md
2017-01-22 16:40:02 +08:00

68 lines
1.8 KiB
Markdown

Use the SSH plugin to execute commands on a remote server. You will need to
supply Drone with a private SSH key to being able to connect to a host.
## Config
The following parameters are used to configure the plugin:
* **host** - address or IP of the remote machine
* **port** - port to connect to on the remote machine
* **user** - user to log in as on the remote machine
* **passsword** - password to log in as on the remote machine
* **key** - private SSH key for the remote machine
* **sleep** - sleep for seconds between host connections
* **timeout** - timeout for the tcp connection attempt
* **script** - list of commands to execute
The following secret values can be set to configure the plugin.
* **SSH_HOST** - corresponds to **host**
* **SSH_PORT** - corresponds to **port**
* **SSH_USER** - corresponds to **user**
* **SSH_PASSWORD** - corresponds to **password**
* **SSH_KEY** - corresponds to **key**
* **SSH_SLEEP** - corresponds to **sleep**
* **SSH_TIMEOUT** - corresponds to **timeout**
## Examples
Example configuration in your .drone.yml file for a single host:
```yaml
pipeline:
ssh:
image: plugins/ssh
host: foo.com
user: root
password: 1234
port: 22
script:
- echo hello
- echo world
```
Example configuration in your .drone.yml file for multiple hosts:
```yaml
pipeline:
ssh:
image: plugins/ssh
host:
- foo.com
- bar.com
user: root
port: 22
sleep: 5
script:
- echo hello
- echo world
```
In the above example Drone executes the commands on multiple hosts
sequentially. If the commands fail on a single host this plugin exits
immediatly, and will not run your commands on the remaining hosts in the
list.
The above example also uses the `sleep` parameter. The sleep parameter
instructs Drone to sleep for N seconds between host executions.