mirror of
https://github.com/drillster/drone-volume-cache.git
synced 2026-06-04 18:24:02 +08:00
28 lines
976 B
Bash
28 lines
976 B
Bash
#!/bin/bash
|
|
|
|
if [ -z "$PLUGIN_MOUNT" ]; then
|
|
echo "Specify folders to cache in the mount property! Plugin won't do anything!"
|
|
exit 0;
|
|
fi
|
|
|
|
IFS=','; read -ra SOURCES <<< "$PLUGIN_MOUNT"
|
|
if [ -n "$PLUGIN_REBUILD" ]; then
|
|
# Create cache
|
|
for source in "${SOURCES[@]}"; do
|
|
echo "Rebuilding cache for $source..."
|
|
mkdir -p "/cache/$DRONE_REPO_OWNER/$DRONE_REPO_NAME/$source" && rsync -aHAX "$source/" "/cache/$DRONE_REPO_OWNER/$DRONE_REPO_NAME/$source"
|
|
done
|
|
elif [ -n "$PLUGIN_RESTORE" ]; then
|
|
# Restore from cache
|
|
for source in "${SOURCES[@]}"; do
|
|
if [ -d "/cache/$DRONE_REPO_OWNER/$DRONE_REPO_NAME/$source" ]; then
|
|
echo "Restoring cache for $source..."
|
|
mkdir -p "$source" && rsync -aHAX "/cache/$DRONE_REPO_OWNER/$DRONE_REPO_NAME/$source/" "$source"
|
|
else
|
|
echo "No cache for $source"
|
|
fi
|
|
done
|
|
else
|
|
echo "No restore or rebuild flag specified, plugin won't do anything!"
|
|
fi
|