From ab87001c770774099e49bad6df8b83a0cea7a88e Mon Sep 17 00:00:00 2001 From: ryan Date: Mon, 7 Sep 2026 09:16:35 +0330 Subject: [PATCH] fix:refactored workflow to remove old docker image --- .gitea/workflows/develop.yml | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/develop.yml b/.gitea/workflows/develop.yml index d2b190f..b78640e 100644 --- a/.gitea/workflows/develop.yml +++ b/.gitea/workflows/develop.yml @@ -78,8 +78,22 @@ jobs: echo "No previous deploy recorded — nothing to roll back to." fi - - name: Clean up dangling (untagged) layers only + - name: Clean up dangling (untagged) layers run: docker image prune -f - # Note: this does NOT remove SHA-tagged images, so rollback targets - # stay available. Periodically clean up old SHA tags manually if - # disk usage grows (e.g. keep the last 10 builds). \ No newline at end of file + + - name: Prune old SHA-tagged images (keep last 5) + run: | + KEEP=5 + CURRENT_TAG=$(grep IMAGE_TAG /opt/robot-market-front/.env 2>/dev/null | cut -d= -f2) + PREVIOUS_TAG=$(grep IMAGE_TAG /opt/robot-market-front/.env.previous 2>/dev/null | cut -d= -f2) + + docker images robot-market --format '{{.Tag}} {{.CreatedAt}}' \ + | sort -t" " -k2 -r \ + | tail -n +$((KEEP + 1)) \ + | cut -f1 \ + | while read -r tag; do + if [ "$tag" != "$CURRENT_TAG" ] && [ "$tag" != "$PREVIOUS_TAG" ] && [ "$tag" != "" ]; then + echo "Removing old image robot-market:$tag" + docker rmi "robot-market:$tag" 2>/dev/null || true + fi + done \ No newline at end of file