SCP
The SCP plugin copy files and artifacts to target host machine via SSH. The below pipeline configuration demonstrates simple usage:
pipeline:
scp:
image: appleboy/drone-scp
settings:
host: example.com
target: /home/deploy/web
source: release.tar.gz
Example configuration with custom username, password and port:
pipeline:
scp:
image: appleboy/drone-scp
settings:
host: example.com
+ username: appleboy
+ password: 12345678
+ port: 4430
target: /home/deploy/web
source: release.tar.gz
Example configuration with multiple source and target folder:
pipeline:
scp:
image: appleboy/drone-scp
settings:
host: example.com
target:
+ - /home/deploy/web1
+ - /home/deploy/web2
source:
+ - release_1.tar.gz
+ - release_2.tar.gz
Example configuration with multiple host:
pipeline:
scp:
image: appleboy/drone-scp
settings:
- host: example.com
+ host:
+ - example1.com
+ - example2.com
target: /home/deploy/web
source: release.tar.gz
Example configuration with wildcard pattern of source list:
pipeline:
scp:
image: appleboy/drone-scp
settings:
host:
- example1.com
- example2.com
target: /home/deploy/web
source:
- - release/backend.tar.gz
- - release/images.tar.gz
+ - release/*.tar.gz
Remove target folder before copy files and artifacts to target:
scp:
image: appleboy/drone-scp
host: example.com
settings:
target: /home/deploy/web
source: release.tar.gz
+ rm: true
Example for remove the specified number of leading path elements:
scp:
image: appleboy/drone-scp
settings:
host: example.com
target: /home/deploy/web
source: dist/release.tar.gz
+ strip_components: 1
Example configuration using `SSHProxyCommand`:
pipeline:
scp:
image: appleboy/drone-scp
settings:
host:
- example1.com
- example2.com
target: /home/deploy/web
source:
- release/*.tar.gz
+ proxy_host: 10.130.33.145
+ proxy_user: ubuntu
+ proxy_port: 22
+ proxy_password: 1234
Example configuration using password from secrets:
pipeline:
scp:
image: appleboy/drone-scp
settings:
host:
- example1.com
- example2.com
user: ubuntu
port: 22
- password: 1234
+ password:
from_secret: ssh_password
target: /home/deploy/web
source:
- release/*.tar.gz
Example configuration using command timeout:
pipeline:
scp:
image: appleboy/drone-scp
settings:
host:
- example1.com
- example2.com
user: ubuntu
port: 22
- command_timeout: 120
+ command_timeout: 2m
from_secret: ssh_password
target: /home/deploy/web
source:
- release/*.tar.gz
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
- target
- folder path of target host
- source
- source lists you want to copy
- rm
- remove target folder before copy files and artifacts
- timeout
- timeout is the maximum amount of time for the TCP connection to establish
- command_timeout
- timeout is the maximum amount of time for execute command
- strip_components
- remove the specified number of leading path elements
- 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
Template Reference
- repo.owner
- repository owner
- repo.name
- repository name
- build.status
- build status type enumeration, either
success
orfailure
- build.event
- build event type enumeration, one of
push
,pull_request
,tag
,deployment
- build.number
- build number
- build.commit
- git sha for current commit
- build.branch
- git branch for current commit
- build.tag
- git tag for current commit
- build.ref
- git ref for current commit
- build.author
- git author for current commit
- build.link
- link the the build results in drone