Drone plugin that allows you to cache directories within the build workspace, this plugin is backed by S3 compatible storages. For the usage information and a listing of the available options please take a look at the docs.
Build the binary with the following command:
export GOOS=linux
export GOARCH=amd64
export CGO_ENABLED=0
export GO111MODULE=on
go build -v -a -tags netgo -o release/linux/amd64/drone-s3-cache
Build the Docker image with the following command:
docker build \
--label org.label-schema.build-date=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
--label org.label-schema.vcs-ref=$(git rev-parse --short HEAD) \
--file docker/Dockerfile.linux.amd64 --tag plugins/s3-cache .
docker run --rm \
-e PLUGIN_FLUSH=true \
-e PLUGIN_ENDPOINT="http://minio.company.com" \
-e PLUGIN_ACCESS_KEY="myaccesskey" \
-e PLUGIN_SECRET_KEY="mysecretKey" \
-v $(pwd):$(pwd) \
-w $(pwd) \
plugins/s3-cache
docker run --rm \
-e PLUGIN_RESTORE=true \
-e PLUGIN_ENDPOINT="http://minio.company.com" \
-e PLUGIN_ACCESS_KEY="myaccesskey" \
-e PLUGIN_SECRET_KEY="mysecretKey" \
-e DRONE_REPO_OWNER="foo" \
-e DRONE_REPO_NAME="bar" \
-e DRONE_COMMIT_BRANCH="test" \
-v $(pwd):$(pwd) \
-w $(pwd) \
plugins/s3-cache
docker run -it --rm \
-v $(pwd):$(pwd) \
-w $(pwd) \
alpine:latest sh -c "mkdir -p cache && echo 'testing cache' >> cache/test && cat cache/test"
docker run --rm \
-e PLUGIN_REBUILD=true \
-e PLUGIN_MOUNT=".bundler" \
-e PLUGIN_ENDPOINT="http://minio.company.com" \
-e PLUGIN_ACCESS_KEY="myaccesskey" \
-e PLUGIN_SECRET_KEY="mysecretKey" \
-e DRONE_REPO_OWNER="foo" \
-e DRONE_REPO_NAME="bar" \
-e DRONE_COMMIT_BRANCH="test" \
-v $(pwd):$(pwd) \
-w $(pwd) \
plugins/s3-cache