bugfix/main-13-UpdateConfigurations #17
@@ -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
|
||||
'''
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user