ci(docker): prune old image versions

This commit is contained in:
2026-07-09 10:23:34 +08:00
parent fc92c3a5d5
commit e8b745d991
6 changed files with 255 additions and 35 deletions
+23 -2
View File
@@ -131,6 +131,22 @@ jobs:
docker push "$IMAGE_VERSION_TAG"
docker push "$IMAGE_LATEST_TAG"
- name: Prune Gitea registry images
env:
GITEA_API_BASE_URL: ${{ secrets.GITEA_API_BASE_URL }}
GITEA_PACKAGE_TOKEN: ${{ secrets.GITEA_PACKAGE_TOKEN }}
run: |
set -eu
if [ -z "$GITEA_PACKAGE_TOKEN" ]; then
echo "Missing secret: GITEA_PACKAGE_TOKEN" >&2
exit 1
fi
GITEA_API_BASE_URL="${GITEA_API_BASE_URL:-https://gitea.banlv-ai.com/api/v1}" \
GITEA_PACKAGE_KEEP_COUNT=3 \
bash scripts/ci/prune-gitea-container-images.sh
- name: Deploy image over SSH
env:
SSH_HOST: ${{ secrets.SSH_HOST }}
@@ -201,8 +217,13 @@ jobs:
| ssh $SSH_OPTS "$SSH_TARGET" \
"docker login '$REGISTRY_HOST' -u '$REGISTRY_USERNAME' --password-stdin"
SERVER_RETAIN_COUNT="0"
if [ "$DEPLOY_ENV" = "prod" ]; then
SERVER_RETAIN_COUNT="1"
fi
ssh $SSH_OPTS "$SSH_TARGET" \
"cd '$DEPLOY_DIR' && chmod +x ./deploy-docker-image.sh && ./deploy-docker-image.sh '$IMAGE_VERSION_TAG' '$NEXT_ENV_FILE' '$HOST_PORT' '$CONTAINER_NAME' '$PROJECT_NAME'"
"cd '$DEPLOY_DIR' && chmod +x ./deploy-docker-image.sh && ./deploy-docker-image.sh '$IMAGE_VERSION_TAG' '$NEXT_ENV_FILE' '$HOST_PORT' '$CONTAINER_NAME' '$PROJECT_NAME' '$SERVER_RETAIN_COUNT'"
- name: Purge Cloudflare cache
env:
@@ -230,6 +251,6 @@ jobs:
if: always()
env:
ACTION_JOB_STATUS: ${{ job.status }}
FLOW_NOTIFY_BASE_URL: ${{ secrets.FLOW_NOTIFY_BASE_URL }}
ACTION_NOTIFY_WEBHOOK_URL: ${{ secrets.ACTION_NOTIFY_WEBHOOK_URL }}
run: |
bash scripts/ci/notify-actions.sh