Concourse CI
Concourse Resource to sync a directory to S3Usage
Include the following in your Pipeline YAML file, replacing the values in the angle brackets (< >
):
resource_types:
- name: <resource type name>
type: docker-image
source:
repository: firespring/concourse-s3-sync-resource
resources:
- name: <resource name>
type: <resource type name>
source:
access_key_id: {{aws-access-key}}
secret_access_key: {{aws-secret-key}}
endpoint: [<optional>, specifies the URL to send the request to]
directory: [<optional>, use to sync to a specific path of the resource instead of the default working directory OR a specific path of the source bucket instead of root of bucket (if 'source_bucket' also specified)]
bucket: {{aws-bucket}}
source_bucket: [<optional>, use to sync from a s3 bucket instead of a path of the resource]
path: [<optional>, use to sync to a specific path of the bucket instead of root of bucket]
options: [<optional, see note below>]
region: <optional, see below>
jobs:
- name: <job name>
plan:
- <some Resource or Task that outputs files>
- put: <resource name>
AWS Credentials
The access_key_id
and secret_access_key
are optional and if not provided the EC2 Metadata service will be queried for role based credentials.
Options
The options
parameter is synonymous with the options that aws cli
accepts for sync
. Please see S3 Sync Options and pay special attention to the Use of Exclude and Include Filters.
Given the following directory test
:
test
├── results
│ ├── 1.json
│ └── 2.json
└── scripts
└── bad.sh
we can upload only the results
subdirectory by using the following options
in our task configuration:
options:
- "--exclude '*'"
- "--include 'results/*'"
Region
Interacting with some AWS regions (like London) requires AWS Signature Version 4. This options allows you to explicitly specify region where your bucket is located (if this is set, AWS_DEFAULT_REGION env variable will be set accordingly).
region: eu-west-2
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/firespring/concourse-s3-sync-resource.
For details on the pull request process please see our contributing documentation