SSH Plugin

Use the SSH plugin to execute commands on a remote server. The following parameters are used to configure this 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
  • commands - list of commands to execute

Example configuration in your .drone.yml file:

deploy:
  ssh:
    host: foo.com
    user: root
    port: 22
    commands:
      - echo hello
      - echo world

Example multi-host configuration in your .drone.yml file:

deploy:
  ssh:
    host:
     - foo.com
     - bar.com
    user: root
    port: 22
    sleep: 5
    commands:
      - 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.

Keys

The plugin authenticates to your server using a per-repository SSH key generated by Drone. You can find the public key in your repository settings in Drone. You will need to copy / paste this key into your ~/.ssh/authorized_keys file on your remote machine.

This website is a public GitHub repository, which is forked from upstream Drone CI documentation. Please help us by forking and improving upstream Drone CI documentation or Tea CI documentation.