| name | deploy-prod |
| description | PROD 환경 배포 (main 브랜치 머지) |
| context | fork |
| allowed-tools | Read, Bash |
/deploy-prod — PROD 환경 배포
개요
main 브랜치에 머지하여 PROD 환경 배포를 트리거한다.
GitHub Actions deploy.yml이 main push 이벤트로 자동 실행된다.
워크플로우
Step 1: 사전 검증
gh pr list --base main --head develop
gh run list --workflow=deploy.yml --limit=3
PROD 배포 전 반드시 확인:
Step 2: develop → main 머지
gh pr create --base main --head develop --title "release: {version}" --body "DEV QA 완료"
gh pr merge --merge --delete-branch=false
또는 기존 feature PR을 직접 main에 머지:
gh pr merge --squash --delete-branch
Step 3: PROD 배포 모니터링
main에 머지되면 deploy.yml GitHub Actions가 자동 실행된다.
gh run list --workflow=deploy.yml --limit=1
gh run view {run-id}
gh run watch {run-id}
Step 4: 배포 결과 보고
Branch: main
Workflow: deploy.yml
Run: {run-url}
Status: {success | failure}
Environment: production
Image Tag: prod-{sha}
배포 파이프라인 (deploy.yml)
main push → Build Next.js → Docker Image → ECR Push → ECS Deploy
- 환경 결정 (main → production)
.env 파일 생성 (GitHub Vars에서 — production 환경)
- Docker 이미지 빌드 (
prod-{sha} 태그)
- AWS ECR에 이미지 푸시
- ECS Task Definition 업데이트
- ECS 서비스 배포 (growit-fe-cluster)
롤백 절차
PROD 배포 후 문제 발생 시:
aws ecs update-service --cluster growit-fe-cluster --service {service-name} --task-definition {previous-task-def}
git revert HEAD
git push origin main
주의사항
- DEV 배포 성공 없이 PROD 배포하지 않는다.
- DEV 환경 QA 통과 후에만 PROD 배포를 진행한다.
- 롤백 계획을 항상 확인한 후 배포한다.
- PROD 환경 변수가 올바른지 GitHub Vars (production environment)에서 확인한다.