mirror of
https://github.com/drillster/drone-volume-cache.git
synced 2026-06-04 18:24:02 +08:00
9585fa84d17df23d9dc564eebd787467e34eb8ed
rsync -aHAX --delete
When creating/restoring cache, the user wants the created files and dir to *replace* existing ones. This also implies deleting leftover files. To be clearer, let's take an example with a JS / TypeScript project: - A project needs to install some "typings" named `footypes` in `node_modules`. - `footypes` becomes deprecated and should be replaced by `footypes2`. The developer then replaces `footypes` with `footypes2` in his `package.json`. - On next builds, old cache is restored (including `node_modules/footypes`). Then `footypes2` is also installed in `node_modules`. - Builds now fail because there are conflicting typings for library `foo`: both `footypes` and `footypes2` are present. With the `--delete` flag added to `rsync`, when creating new caches, files that are not present in source dir are deleted from target dir.
drone-volume-cache
This is a pure Bash Drone 0.5 plugin to cache files and/or folders to a locally mounted volume.
For more information on how to use the plugin, please take a look at the docs.
Docker
Build the docker image by running:
docker build --rm=true -t drillster/drone-volume-cache .
Usage
Execute from the working directory:
docker run --rm \
-e PLUGIN_REBUILD=true \
-e PLUGIN_MOUNT="./node_modules" \
-e DRONE_REPO_OWNER="foo" \
-e DRONE_REPO_NAME="bar" \
-v $(pwd):$(pwd) \
-v /tmp/cache:/cache \
-w $(pwd) \
drillster/drone-volume-cache
Languages
Shell
94.2%
Dockerfile
5.8%