Skip to content

Commit 08370d8

Browse files
committed
chore: 배포 스크립트 원복
1 parent 2d24249 commit 08370d8

1 file changed

Lines changed: 29 additions & 6 deletions

File tree

.github/workflows/cd.yaml

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,35 @@ jobs:
3939
GHCR_PAT: ${{ secrets.GHCR_PAT }}
4040
GITHUB_ACTOR: ${{ github.actor }}
4141
run: |
42-
echo "JUMP_USER length: ${#JUMP_USER}"
43-
echo "JUMP_HOST length: ${#JUMP_HOST}"
44-
echo "JUMP_PORT length: ${#JUMP_PORT}"
45-
echo "TARGET_USER length: ${#TARGET_USER}"
46-
echo "TARGET_HOST length: ${#TARGET_HOST}"
47-
ssh -v -o StrictHostKeyChecking=no -o ProxyJump=$JUMP_USER@$JUMP_HOST:$JUMP_PORT $TARGET_USER@$TARGET_HOST echo "SSH 연결 성공"
42+
ssh -o StrictHostKeyChecking=no -o ProxyJump=$JUMP_USER@$JUMP_HOST:$JUMP_PORT $TARGET_USER@$TARGET_HOST /bin/bash << ENDSSH
43+
set -e
44+
45+
echo "=== 배포 디렉토리 이동 ==="
46+
cd $DEPLOY_PATH
47+
48+
echo "=== GHCR 로그인 ==="
49+
echo "$GHCR_PAT" | docker login ghcr.io -u "$GITHUB_ACTOR" --password-stdin
50+
51+
echo "=== 최신 이미지 Pull ==="
52+
docker compose -f docker/docker-compose.prod.yml --env-file .env pull app
53+
54+
echo "=== 앱 컨테이너 재시작 ==="
55+
docker compose -f docker/docker-compose.prod.yml --env-file .env up -d app
56+
57+
echo "=== Health Check (최대 60초) ==="
58+
for i in \$(seq 1 12); do
59+
if curl -sf http://localhost:7300/actuator/health > /dev/null; then
60+
echo "Health check 통과"
61+
exit 0
62+
fi
63+
echo "재시도 \$i/12"
64+
sleep 5
65+
done
66+
67+
echo "Health check 실패"
68+
docker compose -f docker/docker-compose.prod.yml logs --tail=50 app
69+
exit 1
70+
ENDSSH
4871
4972
- name: 오래된 Docker 이미지 정리
5073
if: success()

0 commit comments

Comments
 (0)