| name | S3 Plugin | |||||
|---|---|---|---|---|---|---|
| author | Woodpecker Authors | |||||
| icon | https://raw.githubusercontent.com/woodpecker-ci/plugin-s3/main/s3.svg | |||||
| description | Plugin to publish files and artifacts to Amazon S3 or Minio. | |||||
| tags |
|
|||||
| containerImage | woodpeckerci/plugin-s3 | |||||
| containerImageUrl | https://hub.docker.com/r/woodpeckerci/plugin-s3 | |||||
| url | https://github.com/woodpecker-ci/plugin-s3 |
The S3 plugin uploads files and build artifacts to your S3 bucket, or S3-compatible bucket such as Minio. The below pipeline configuration demonstrates simple usage:
steps:
upload:
image: woodpeckerci/plugin-s3
settings:
bucket: my-bucket-name
access_key: a50d28f4dd477bc184fbd10b376de753
secret_key: ****************************************
source: public/**/*
target: /target/locationSource the aws credentials from secrets:
steps:
upload:
image: woodpeckerci/plugin-s3
settings:
bucket: my-bucket-name
access_key:
from_secret: aws_access_key_id
secret_key:
from_secret: aws_secret_access_key
source: public/**/*
target: /target/locationUse the build number in the S3 target prefix:
steps:
upload:
image: woodpeckerci/plugin-s3
settings:
bucket: my-bucket-name
source: public/**/*
target: /target/location/${CI_BUILD_NUMBER}Override the default acl and region:
steps:
- name: upload
image: woodpeckerci/plugin-s3
settings:
bucket: my-bucket-name
acl: public-read
region: us-east-1
source: public/**/*
target: /target/locationConfigure the plugin to strip path prefixes when uploading:
steps:
upload:
image: woodpeckerci/plugin-s3
settings:
bucket: my-bucket-name
source: public/**/*
target: /target/location
strip_prefix: public/Configure the plugin to exclude files from upload and compress:
steps:
upload:
image: woodpeckerci/plugin-s3
settings:
bucket: my-bucket-name
source: public/**/*
target: /target/location
exclude:
- **/*.xml
compress: trueConfigure the plugin to connect to a Minio server:
steps:
upload:
image: woodpeckerci/plugin-s3
settings:
bucket: my-bucket-name
source: public/**/*
target: /target/location
path_style: true
endpoint: https://play.minio.io:9000endpoint : custom endpoint URL (optional, to use a S3 compatible non-Amazon service)
access_key : amazon key (optional)
secret_key : amazon secret key (optional)
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 : source location of the files, using a glob matching pattern. Location must be within the woodpecker workspace.
target : target location of files in the bucket
encryption : if provided, use server-side encryption
strip_prefix : strip the prefix from source path
exclude : glob exclusion patterns
path_style : whether path style URLs should be used (true for minio)
env_file : load env vars from file
compress : prior to upload, compress files and use gzip content-encoding (false by default)
overwrite : overwrite existing files (true by default)