mirror of
https://github.com/thegeeklab/drone-s3-sync.git
synced 2024-11-04 16:30:40 +00:00
52 lines
2.0 KiB
Markdown
52 lines
2.0 KiB
Markdown
Use the S3 sync plugin to synchronize files and folders with an Amazon S3 bucket. The following parameters are used to configure this plugin:
|
|
|
|
* `access_key` - amazon key
|
|
* `secret_key` - amazon secret key
|
|
* `bucket` - bucket name
|
|
* `region` - bucket region (`us-east-1`, `eu-west-1`, etc)
|
|
* `acl` - access to files that are uploaded (`private`, `public-read`, etc)
|
|
* `source` - location of folder to sync
|
|
* `target` - target folder in your S3 bucket
|
|
* `delete` - deletes files in the target not found in the source
|
|
* `content_type` - override default mime-tpyes to use this value
|
|
|
|
The following is a sample S3 configuration in your .drone.yml file:
|
|
|
|
```yaml
|
|
publish:
|
|
s3_sync:
|
|
acl: public-read
|
|
region: "us-east-1"
|
|
bucket: "my-bucket.s3-website-us-east-1.amazonaws.com"
|
|
access_key: "970d28f4dd477bc184fbd10b376de753"
|
|
secret_key: "9c5785d3ece6a9cdefa42eb99b58986f9095ff1c"
|
|
source: folder/to/archive
|
|
target: /target/location
|
|
delete: true
|
|
```
|
|
|
|
Both `acl` and `content_type` can be passed as a string value to apply to all files, or as a map to apply to a subset of files.
|
|
|
|
For example:
|
|
|
|
```yaml
|
|
publish:
|
|
s3_sync:
|
|
acl:
|
|
"public/*": public-read
|
|
"private/*": private
|
|
content_type:
|
|
".svg": image/svg+xml
|
|
region: "us-east-1"
|
|
bucket: "my-bucket.s3-website-us-east-1.amazonaws.com"
|
|
access_key: "970d28f4dd477bc184fbd10b376de753"
|
|
secret_key: "9c5785d3ece6a9cdefa42eb99b58986f9095ff1c"
|
|
source: folder/to/archive
|
|
target: /target/location
|
|
delete: true
|
|
```
|
|
|
|
In the case of `acl` the key of the map is a glob as matched by [filepath.Match](https://golang.org/pkg/path/filepath/#Match). If there are no matches in your settings for a given file, the default is `"private"`.
|
|
|
|
The `content_type` field the key is an extension including the leading dot `.`. If you want to set a content type for files with no extension, set the key to the empty string `""`. If there are no matches for the `content_type` of any file, one will automatically be determined for you.
|