From e0f49022fbddaeba6eccb6d0a7c61bb3b45ac7e5 Mon Sep 17 00:00:00 2001 From: can019 Date: Thu, 11 Sep 2025 15:31:46 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=ED=95=AD=EC=83=81=20=EC=B5=9C=EC=8B=A0?= =?UTF-8?q?=20docker=20image=EB=A5=BC=20=EB=B0=9B=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EA=B0=95=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 현재 latest tag가 docker compose에 삽입, 캐싱으로 이미 있던 image를 사용하지 않도록 변경 --- .github/workflows/deploy-java.yml | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/.github/workflows/deploy-java.yml b/.github/workflows/deploy-java.yml index 1792e345..9c876f2f 100644 --- a/.github/workflows/deploy-java.yml +++ b/.github/workflows/deploy-java.yml @@ -63,14 +63,33 @@ jobs: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin - echo ls - + # 최신 이미지 pull + docker-compose pull + + # 기존 컨테이너 종료 및 제거 docker-compose down + + # 새 컨테이너 배포 docker-compose up -d - - sleep 10 + + # 컨테이너 상태 확인 + sleep 5 docker-compose ps - + + # 헬스 체크 (컨테이너가 healthy 상태가 될 때까지 대기) + echo "Waiting for containers to become healthy..." + for i in {1..30}; do + unhealthy=$(docker ps --filter "health=unhealthy" --format "{{.Names}}") + starting=$(docker ps --filter "health=starting" --format "{{.Names}}") + if [ -z "$unhealthy" ] && [ -z "$starting" ]; then + echo "All containers are healthy!" + break + fi + echo "Waiting... ($i/30)" + sleep 2 + done + + # 사용하지 않는 dangling 이미지 정리 docker image prune -f - name: Send Discord notification - Success