fix: make Blue-Green deployment safe by checking Nginx reload status and removing redundant host Gradle build to prevent OOM server crashes
All checks were successful
Deploy to OCIWP / deploy (push) Successful in 10m6s
All checks were successful
Deploy to OCIWP / deploy (push) Successful in 10m6s
This commit is contained in:
@@ -26,17 +26,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
echo "Starting Blue-Green CI/CD Deploy pipeline..."
|
echo "Starting Blue-Green CI/CD Deploy pipeline..."
|
||||||
|
|
||||||
# 1. gradle 공식 이미지로 바로 컴파일 빌드!
|
# 1. (제거됨: 호스트 볼륨에서의 불필요한 gradle 빌드 제외 - Dockerfile 내에서 이미 수행하므로 OOM 방지)
|
||||||
docker run --rm \
|
|
||||||
-v /home/ubuntu/app/ax_hub_mcp_tool:/app \
|
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
||||||
-v /home/ubuntu/.gradle:/home/gradle/.gradle \
|
|
||||||
-w /app \
|
|
||||||
gradle:8-jdk21 \
|
|
||||||
./gradlew clean bootJar -x test
|
|
||||||
|
|
||||||
# 2. 빌드 결과 plain jar 아카이브 정리
|
|
||||||
find /app -name "*-plain.jar" -delete
|
|
||||||
|
|
||||||
cd /app
|
cd /app
|
||||||
|
|
||||||
@@ -104,10 +94,18 @@ jobs:
|
|||||||
echo "Health Check Passed! Switching traffic to $TARGET..."
|
echo "Health Check Passed! Switching traffic to $TARGET..."
|
||||||
mkdir -p ./nginx/conf.d
|
mkdir -p ./nginx/conf.d
|
||||||
cp ./nginx/${TARGET}.conf ./nginx/conf.d/default.conf
|
cp ./nginx/${TARGET}.conf ./nginx/conf.d/default.conf
|
||||||
docker compose exec -T nginx nginx -s reload
|
|
||||||
|
if ! docker compose exec -T nginx nginx -s reload; then
|
||||||
|
echo "Nginx reload failed! Rolling back Nginx configuration..."
|
||||||
|
cp ./nginx/${OLD_TARGET}.conf ./nginx/conf.d/default.conf
|
||||||
|
docker compose exec -T nginx nginx -s reload || true
|
||||||
|
echo "Stopping failed $TARGET containers..."
|
||||||
|
docker compose stop gateway-$TARGET tool-sms-$TARGET tool-email-$TARGET tool-other-$TARGET tool-payment-$TARGET
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# 7. 구버전 종료
|
# 7. 구버전 종료
|
||||||
echo "Traffic switched. Stopping old $OLD_TARGET containers..."
|
echo "Traffic switched successfully. Stopping old $OLD_TARGET containers..."
|
||||||
docker compose stop gateway-$OLD_TARGET tool-sms-$OLD_TARGET tool-email-$OLD_TARGET tool-other-$OLD_TARGET tool-payment-$OLD_TARGET
|
docker compose stop gateway-$OLD_TARGET tool-sms-$OLD_TARGET tool-email-$OLD_TARGET tool-other-$OLD_TARGET tool-payment-$OLD_TARGET
|
||||||
|
|
||||||
# 가비지 청소
|
# 가비지 청소
|
||||||
|
|||||||
Reference in New Issue
Block a user