fix(deploy): momo-erp 재기동 후 traefik 라우터 캐시 자동 새로고침
Deploy momo-erp / deploy (push) Successful in 2m15s

증상: momo-erp container 가 force-recreate 될 때 traefik docker provider 가
새 컨테이너의 라벨을 재인식 못 해 momotogether.com 요청이 Gitea 라우터로
fallback 되는 사고 (사용자 화면에 Gitea 500 에러 페이지 노출).

deploy.yml 의 docker compose up 직후 `docker restart traefik` 1회 추가.
1~2초 다른 도메인 잠시 down 되지만 라우터 정합성 보장됨.

병행: cron watchdog (/usr/local/bin/momo-traefik-watchdog.sh, 3분 간격)이
production HTML 의 "모모유통" 문자열 검증해 비정상 시 traefik 자동 재시작.
deploy 외 임의 시점 사고에도 최대 3분 안에 자동 복구.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
chpark
2026-05-13 15:59:56 +09:00
parent 19e3cf9048
commit 2b3c4acdae
+6
View File
@@ -69,6 +69,12 @@ jobs:
docker rm -f momo-erp 2>/dev/null || true
docker compose -f docker-compose.prod.yml up -d --force-recreate momo-erp
# traefik 라우터 캐시 재로드 — momo-erp re-create 시 traefik docker provider 가
# 가끔 새 컨테이너 라벨을 인식 못 하고 다른 라우터로 fallback (gitea 페이지 노출 사고)
# 강제로 traefik 컨테이너 1~2초 재시작해서 모든 라우터 정합 보장
docker restart traefik 2>&1 | tail -2 || true
sleep 3
# 옛 momo-erp 이미지(latest 태그가 새 빌드로 갱신되며 dangling 이 된 옛 sha)는 prune.
# -f 만 사용 (dangling 만). 다른 프로젝트의 사용 중 이미지는 건드리지 않음.
docker image prune -f 2>&1 | tail -3 || true