Rotate images

This commit is contained in:
2025-12-24 13:37:00 +01:00
parent a9baf6da95
commit 12817a7e82

View File

@@ -88,20 +88,55 @@ pipeline {
sh '''
set -e
OLD_BACKEND_LATEST_ID=$(docker images -q cafeteria-backend:latest || true)
OLD_BACKEND_PREVIOUS_ID=$(docker images -q cafeteria-backend:previous || true)
OLD_FRONTEND_LATEST_ID=$(docker images -q cafeteria-frontend:latest || true)
OLD_FRONTEND_PREVIOUS_ID=$(docker images -q cafeteria-frontend:previous || true)
docker build \
--build-arg APP_VERSION=${APP_VERSION} \
--build-arg GIT_COMMIT=${COMMIT_SHORT} \
--build-arg COMMIT_AUTHOR="${COMMIT_AUTHOR}" \
--build-arg BUILD_NUMBER=${BUILD_NUMBER} \
-t cafeteria-backend:${BUILD_NUMBER} \
-t cafeteria-backend:latest \
./backend
docker build \
--build-arg VITE_API_BASE=${VITE_API_BASE} \
-t cafeteria-frontend:${BUILD_NUMBER} \
-t cafeteria-frontend:latest \
./frontend
NEW_BACKEND_LATEST_ID=$(docker images -q cafeteria-backend:latest || true)
NEW_FRONTEND_LATEST_ID=$(docker images -q cafeteria-frontend:latest || true)
if [ -n "$OLD_BACKEND_LATEST_ID" ]; then
docker tag "$OLD_BACKEND_LATEST_ID" cafeteria-backend:previous
fi
if [ -n "$OLD_FRONTEND_LATEST_ID" ]; then
docker tag "$OLD_FRONTEND_LATEST_ID" cafeteria-frontend:previous
fi
if [ -n "$OLD_BACKEND_PREVIOUS_ID" ] && \
[ "$OLD_BACKEND_PREVIOUS_ID" != "$OLD_BACKEND_LATEST_ID" ] && \
[ "$OLD_BACKEND_PREVIOUS_ID" != "$NEW_BACKEND_LATEST_ID" ]; then
docker rmi "$OLD_BACKEND_PREVIOUS_ID" || true
fi
if [ -n "$OLD_FRONTEND_PREVIOUS_ID" ] && \
[ "$OLD_FRONTEND_PREVIOUS_ID" != "$OLD_FRONTEND_LATEST_ID" ] && \
[ "$OLD_FRONTEND_PREVIOUS_ID" != "$NEW_FRONTEND_LATEST_ID" ]; then
docker rmi "$OLD_FRONTEND_PREVIOUS_ID" || true
fi
cleanup_tags() {
repo="$1"
docker images --format "{{.Repository}}:{{.Tag}}" \
| awk -v repo="$repo" '$0 ~ "^"repo":" && $0 !~ /:latest$|:previous$/' \
| xargs -r docker rmi || true
}
cleanup_tags cafeteria-backend
cleanup_tags cafeteria-frontend
'''
}
}
@@ -128,7 +163,7 @@ pipeline {
echo "Deploying backend ${BUILD_NUMBER}"
BACKEND_TAG=${BUILD_NUMBER} FRONTEND_TAG=${BUILD_NUMBER} docker-compose up -d
BACKEND_TAG=latest FRONTEND_TAG=latest docker-compose up -d
'''
}
}