Use Cyberduck CLI GitHub Action
Use Cyberduck CLI in a GitHub Actions workflow conveniently in a docker container.
Usage in Custom Workflow
Add the
[cyberduck-cli-action](https://github.com/iterate-ch/cyberduck-cli-action)
action to a workflow.yml
with a step like- name: Upload uses: iterate-ch/cyberduck-cli-action@v1 env: USERNAME: ${{secrets.S3_ACCESS_KEY}} PASSWORD: ${{secrets.S3_SECRET_KEY}} with: mode: upload url: 's3:/bucket/path/' path: 'release/*' args: '--verbose'
Choose a
mode
. Several modes are supported likedownload
,list
andupload
probably the most common usage. If you want to any of the supported command line parameters useraw
and omit thepath
andurl
options.Set the
url
input option to a valid URI that references the protocol, optional server and destination upload file or directory as documented. For S3 this would bes3:/<bucket>/<key>
or for SFTPsftp://<server>/<directory>/
.Attention
Make sure to include a trailing
/
inurl
input to denote a directory.Specify credentials in the environment with
USERNAME
,PASSWORD
. AdditionallyIDENTITY
can be used for SFTP connections equivalent to the--identity
parameter. The example assumes you haveS3_ACCESS_KEY
andS3_SECRET_KEY
defined as a secret. Alternatively specify--username ${{secrets.USER}} --password ${{secrets.PASSWORD}}
inargs
.Add additional arguments for Cyberduck CLI. Any of the available generic options can be passed with the
args
input.Tip
Only overwrite existing files on changes using
args: '--existing compare'
.Read output in a next step using the key
log
usingjobs.<job_id>.outputs.log
output.
References
Cyberduck CLI GitHub Action README