Skip to content

peakon/aws-s3-sync-buildkite-plugin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AWS S3 Sync Buildkite Plugin

Build status MIT License

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.

Example

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.3.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.3.0:
          source: s3://example-bucket/directory/
          destination: local-directory/

Configuration

source

The source location containing the local path or the s3 uri.

destination

The destination location containing the local path or the s3 uri.

delete

Defaults to false

Files that exist in the destination but not in the source are deleted during sync.

follow-symlinks

Defaults to true

Symbolic links are followed only when uploading to S3 from the local filesystem.

Development

To run the tests:

docker-compose run --rm tests

To run the Buildkite Plugin Linter:

docker-compose run --rm lint