Skip to content

Latest commit

 

History

History
297 lines (238 loc) · 5.62 KB

DOCS.md

File metadata and controls

297 lines (238 loc) · 5.62 KB
date title author tags logo repo image
2017-01-06 00:00:00 +0000
SCP
appleboy
publish
ssh
scp
term.svg
appleboy/drone-scp
appleboy/drone-scp

The SCP plugin copy files and artifacts to target host machine via SSH. The below pipeline configuration demonstrates simple usage:

- name: scp files
  image: appleboy/drone-scp
  settings:
    host: example.com
    username: foo
    password: bar
    port: 22
    target: /var/www/deploy/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME}
    source: release.tar.gz

Example configuration with multiple source and target folder:

  - name: scp files
    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:

  - name: scp files
    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:

  - name: scp files
    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:

  - name: scp files
    image: appleboy/drone-scp
    settings:
      target: /home/deploy/web
      source: release.tar.gz
+     rm: true

Example for remove the specified number of leading path elements:

  - name: scp files
    image: appleboy/drone-scp
    settings:
      host: example.com
      target: /home/deploy/web
      source: dist/release.tar.gz
+     strip_components: 1

Example configuration using `SSHProxyCommand`:

  - name: scp files
    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:

  - name: scp files
    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:

  - name: scp files
    image: appleboy/drone-scp
    settings:
      host:
      - example1.com
      - example2.com
      user: ubuntu
      password:
      from_secret: ssh_password
      port: 22
-     command_timeout: 120
+     command_timeout: 2m
      target: /home/deploy/web
      source:
      - release/*.tar.gz

Example configuration for ignore list:

  - name: scp files
    image: appleboy/drone-scp
    settings:
      host:
        - example1.com
        - example2.com
      user: ubuntu
      password:
        from_secret: ssh_password
      port: 22
      command_timeout: 2m
      target: /home/deploy/web
      source:
+       - !release/README.md
        - release/*

Example configuration for passphrase which protecting a private key:

  - name: scp files
    image: appleboy/drone-scp
    settings:
      host:
        - example1.com
        - example2.com
      user: ubuntu
+     key:
+       from_secret: ssh_key
+     passphrase: 1234
      port: 22
      command_timeout: 2m
      target: /home/deploy/web
      source:
        - release/*

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

passphrase : The purpose of the passphrase is usually to encrypt the private key.

fingerprint : fingerprint SHA256 of the host public key, default is to skip verification

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 ssh connection to establish, default is 30 seconds.

command_timeout : Command timeout is the maximum amount of time for the execute commands, default is 10 minutes.

strip_components : remove the specified number of leading path elements

tar_tmp_path : temporary path for tar file on the dest host

tar_exec : alternative tar executable to on the dest host

overwrite : use --overwrite flag with tar

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

proxy_passphrase : The purpose of the passphrase is usually to encrypt the private key.

proxy_fingerprint : fingerprint SHA256 of the host public key, default is to skip verification

Template Reference

repo.owner : repository owner

repo.name : repository name

build.status : build status type enumeration, either success or failure

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