BUDDYS-ADMIN은 Vercel Git 연동 대신 GitHub Actions와 Vercel CLI를 사용해 배포합니다. 배포는 별도로 시작하지 않고 CI workflow의 Quality Check가 성공한 push에서만 실행합니다.
| Git event | Deployment |
|---|---|
main, develop 대상 PR |
배포하지 않고 CI만 실행 |
develop push |
Vercel Preview 배포 |
main push |
Vercel Production 배포 |
| CI 실패 또는 취소 | 배포하지 않음 |
develop은 통합 검증용 Preview 환경이고 main은 운영 환경입니다. Vercel 프로젝트에서 Git 저장소 자동 배포는 연결하지 않습니다. Git 연동을 함께 활성화하면 GitHub Actions 배포와 중복될 수 있습니다.
.github/workflows/ci.yml의 deploy job이 품질 검사를 통과한 push에서 .github/workflows/cd.yml을 호출합니다. CD는 호출한 workflow와 같은 commit을 checkout하고 다음 순서로 실행합니다.
- pnpm과 Node.js 22를 설정합니다.
- lockfile을 기준으로 의존성을 설치합니다.
- 고정된 Vercel CLI 버전을 설치합니다.
- 배포 대상의 Vercel 설정과 환경변수를 가져옵니다.
- Vercel Build Output을 생성합니다.
- Preview 또는 Production으로 prebuilt 결과를 배포합니다.
같은 환경의 이전 배포가 실행 중이면 최신 commit 배포를 우선하기 위해 취소합니다.
Repository의 Settings > Secrets and variables > Actions에 다음 secret이 필요합니다.
| Secret name | Source |
|---|---|
VERCEL_TOKEN |
Vercel Account Settings에서 만든 배포 token |
VERCEL_ORG_ID |
.vercel/project.json의 orgId |
VERCEL_PROJECT_ID |
.vercel/project.json의 projectId |
실제 값은 코드, 문서, .env 또는 workflow에 작성하지 않습니다. 배포 token을 교체하거나 만료 기간을 갱신하면 GitHub의 VERCEL_TOKEN도 함께 교체합니다.
vercel link가 만드는 .vercel과 Vercel CLI가 만드는 .env.local은 로컬 전용 파일입니다. 두 경로는 .gitignore로 제외하며 저장소에 추가하지 않습니다. 팀에서 공유할 환경변수 이름이 생기면 값 없이 .env.example에 기록합니다.
develop머지 후CI / Quality Check와CI / Deploy to Vercel / Preview Deployment가 순서대로 성공하는지 확인합니다.- Preview 배포 URL에서 화면과 브라우저 콘솔을 확인합니다.
main머지 후 Production Deployment와 운영 URL을 확인합니다.- 실패 시 GitHub Actions 로그에서 실패한 Vercel CLI 단계와 Vercel Dashboard의 배포 로그를 함께 확인합니다.