Use Cyberduck CLI in a GitHub Actions workflow conveniently in a docker container.
-
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.
- Cyberduck CLI GitHub Action README