fix(ci): 헬스체크 polling 6회×5s 로 단축 — 워크플로 ~1분 안에
Deploy momo-erp / deploy (push) Failing after 13m7s

이전 24회×10s(최대 260s) → 6회×5s(최대 40s)
빌드는 보통 60-90s 라 polling 안에 못 들어오는 게 일반적 →
::notice 로 안내만 하고 step 정상 종료 (continue-on-error 유지)
This commit is contained in:
chpark
2026-05-30 17:44:29 +09:00
parent a897f12116
commit 06b406ba6a
+11 -9
View File
@@ -29,23 +29,25 @@ jobs:
fi
echo "::notice::✔ webhook 트리거 성공 — 운영에서 분리 deployer 컨테이너가 git pull/build/swap 진행"
# 부가 확인 (선택). 빌드/swap 이 polling 안에 끝나면 noti, 아니면 그냥 통과.
# ::error 안 쓰고 워크플로 status 영향 없음 (continue-on-error: true).
- name: Healthcheck (build-sha.txt 추적 — informational only)
# 부가 확인 (선택). 짧게만 검증 — 워크플로 시간을 ~1분 내로 유지.
# 실제 빌드는 보통 60-90초라 polling 안에 안 들어와도 정상.
# 운영 반영 확인은 https://momotogether.com/build-sha.txt 직접 또는
# webhook 로그(/api/deploy/webhook?token=...) 로.
- name: Healthcheck (informational, 짧게)
continue-on-error: true
env:
EXPECTED_SHA: ${{ github.sha }}
run: |
EXPECTED="${EXPECTED_SHA}"
echo "▶ 기대 SHA: $EXPECTED"
sleep 20
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24; do
REMOTE=$(curl -ksS -m 5 -L "https://momotogether.com/build-sha.txt?_=$(date +%s)" 2>/dev/null | tr -d '[:space:]' || true)
echo " ${i}/24: 운영 SHA=${REMOTE:-(없음)}"
sleep 10
for i in 1 2 3 4 5 6; do
REMOTE=$(curl -ksS -m 4 -L "https://momotogether.com/build-sha.txt?_=$(date +%s)" 2>/dev/null | tr -d '[:space:]' || true)
echo " ${i}/6: 운영 SHA=${REMOTE:-(없음)}"
if [ -n "$REMOTE" ] && [ "$REMOTE" = "$EXPECTED" ]; then
echo "::notice::✔ 운영에 신버전(${REMOTE:0:8}) 반영 확인 (${i}회차)"
exit 0
fi
sleep 10
sleep 5
done
echo "::warning::polling 안에 build-sha 갱신 미확인 — 빌드가 더 오래 걸렸을 수 있음 (운영은 백그라운드에서 계속 진행 중). 잠시 후 직접 https://momotogether.com/build-sha.txt 로 확인하세요."
echo "::notice::polling 안에 build-sha 갱신 미확인 — 빌드가 더 오래 걸리는 케이스. 1~2분 후 운영에 자동 반영됩니다."