b97e7b63a4
Deploy momo-erp via webhook / deploy (push) Failing after 0s
- /api/deploy/webhook: X-Deploy-Token 검증 후 백그라운드로 deploy.sh spawn - scripts/deploy.sh: git pull + docker compose up --build + migrate - docker-compose.prod.yml: docker.sock + 소스 디렉토리 마운트 - deploy.yml: webhook 호출 + 헬스체크 폴링 (시크릿 의존성 제거) - 미들웨어 공개 경로에 /api/deploy/webhook 추가 서버 1회 셋업 (docker-compose.prod.yml 갱신본을 한 번 배포하기만 하면 이후 push 시 자동 재배포 영구 동작)
23 lines
721 B
Bash
23 lines
721 B
Bash
#!/bin/sh
|
|
# 운영 서버에서 실행되는 배포 스크립트
|
|
# webhook 이 이걸 spawn 함. 또는 cron/수동 실행 가능
|
|
# 호스트에 미리 배치: cp scripts/deploy.sh /deploy/deploy.sh && chmod +x
|
|
|
|
set -e
|
|
cd /deploy/source 2>/dev/null || cd "$HOME/momo-erp/source"
|
|
|
|
echo "[$(date)] git fetch + reset --hard origin/main"
|
|
git fetch origin
|
|
git reset --hard origin/main
|
|
|
|
echo "[$(date)] docker compose up --build"
|
|
docker compose -f docker-compose.prod.yml up -d --build
|
|
|
|
echo "[$(date)] migrate:momo (idempotent)"
|
|
docker compose -f docker-compose.prod.yml exec -T momo-erp npm run migrate:momo || true
|
|
|
|
echo "[$(date)] docker ps"
|
|
docker compose -f docker-compose.prod.yml ps
|
|
|
|
echo "[$(date)] ✔ 배포 완료"
|