drone-ssh/DOCS.md
Bo-Yi Wu d447bbd595 [ci skip] add proxy config docs
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2017-03-23 13:45:04 +08:00

191 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
date: 2017-01-29T00:00:00+00:00
title: SSH
author: appleboy
tags: [ publish, ssh ]
repo: appleboy/drone-ssh
logo: term.svg
image: appleboy/drone-ssh
---
Use the SSH plugin to execute commands on a remote server. The below pipeline configuration demonstrates simple usage:
```yaml
pipeline:
ssh:
image: appleboy/drone-ssh
host: foo.com
username: root
password: 1234
port: 22
script:
- echo hello
- echo world
```
Example configuration in your `.drone.yml` file for multiple hosts:
```diff
pipeline:
ssh:
image: appleboy/drone-ssh
host:
+ - foo.com
+ - bar.com
username: root
password: 1234
port: 22
script:
- echo hello
- echo world
```
Example configuration for login with user private key:
```diff
pipeline:
ssh:
image: appleboy/drone-ssh
host: foo.com
username: root
- password: 1234
+ key: ${DEPLOY_KEY}
port: 22
script:
- echo hello
- echo world
```
Example configuration for login with file path of user private key:
```diff
pipeline:
ssh:
image: appleboy/drone-ssh
host: foo.com
username: root
- password: 1234
+ key_path: ./deploy/key.pem
port: 22
script:
- echo hello
- echo world
```
Example configuration for command timeout (unit: second), default value is 60 seconds:
```diff
pipeline:
ssh:
image: appleboy/drone-ssh
host: foo.com
username: root
password: 1234
port: 22
+ command_timeout: 10
script:
- echo hello
- echo world
```
Example configuration for execute commands on a remote server using SSHProxyCommand:
```diff
pipeline:
ssh:
image: appleboy/drone-ssh
host: foo.com
username: root
port: 22
key: ${DEPLOY_KEY}
script:
- echo hello
- echo world
+ proxy_host: 10.130.33.145
+ proxy_user: ubuntu
+ proxy_port: 22
+ proxy_key: ${PROXY_KEY}
```
Example configuration for success build:
```diff
pipeline:
ssh:
image: appleboy/drone-ssh
host: foo.com
username: root
password: 1234
port: 22
script:
- echo hello
- echo world
+ when:
+ status: success
```
Example configuration for tag event:
```diff
pipeline:
ssh:
image: appleboy/drone-ssh
host: foo.com
username: root
password: 1234
port: 22
script:
- echo hello
- echo world
+ when:
+ status: success
+ event: tag
```
# Parameter Reference
host
: target hostname or IP
port
: ssh port of target host
username
: account for target host user
password
: password for target host user
key
: plain text of user private key
key_path
: key path of user private key
script
: execute commands on a remote server
timeout
: Timeout is the maximum amount of time for the TCP connection to establish.
command_timeout
: Command timeout is the maximum amount of time for the execute commands, default is 60 secs.
proxy_host
: proxy hostname or IP
proxy_port
: ssh port of proxy host
proxy_username
: account for proxy host user
proxy_password
: password for proxy host user
proxy_key
: plain text of proxy private key
proxy_key_path
: key path of proxy private key