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.ymlwith 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,listanduploadprobably the most common usage. If you want to any of the supported command line parameters userawand omit thepathandurloptions.Set the
urlinput 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
/inurlinput to denote a directory.Specify credentials in the environment with
USERNAME,PASSWORD. AdditionallyIDENTITYcan be used for SFTP connections equivalent to the--identityparameter. The example assumes you haveS3_ACCESS_KEYandS3_SECRET_KEYdefined 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
argsinput.Tip
Only overwrite existing files on changes using
args: '--existing compare'.Read output in a next step using the key
logusingjobs.<job_id>.outputs.logoutput.
References
Cyberduck CLI GitHub Action README