A Buildkite plugin that syncs files to the AWS Simple Storage Service (S3). It automatically detects when the local path is the source or destination, then syncs after or before the step command
respectively.
Sync local files source with s3 destination. This is run after the main command in a post-command
job hook.
steps:
- label: "Generate files and push to S3"
command: bin/command-that-generates-files
plugins:
- envato/aws-s3-sync#v0.5.0:
source: local-directory/
destination: s3://example-bucket/directory/
Sync s3 files source with a local path destination. This is run before the main command in a pre-command
job hook.
steps:
- label: "Pull files from S3 and execute task"
command: bin/command-that-uses-files
plugins:
- envato/aws-s3-sync#v0.5.0:
source: s3://example-bucket/directory/
destination: local-directory/
The source location containing the local path or the s3 uri.
The destination location containing the local path or the s3 uri.
Defaults to false
Files that exist in the destination but not in the source are deleted during sync.
Defaults to true
Symbolic links are followed only when uploading to S3 from the local filesystem.
Defaults to null
Specify the cache control metadata value for all syncable objects
Defaults to null
Optionally specify an s3 endpoint URL to override the default. This option can be used to integrate with services that provide a s3 compatible api like CloudFlare R2.
To run the tests:
docker-compose run --rm tests
To run the Buildkite Plugin Linter:
docker-compose run --rm lint