S3 Plugin
Plugin to publish files and artifacts to Amazon S3 or Minio.
S3 Plugin
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/location
Source 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/location
Use 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/location
Configure 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: true
Configure 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:9000
Parameter Reference
endpoint : 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)