drone-ssh/DOCS.md
2017-01-28 11:52:56 +08:00

1.8 KiB

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:

pipeline:
  ssh:
    image: appleboy/drone-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:

pipeline:
  ssh:
    image: appleboy/drone-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.