NestJS에서는 테스트, 빌드, Docker 이미지, 레지스트리, 배포, 모니터링을 하나의 파이프라인으로 묶어 릴리스 위험을 줄입니다.
main 또는 PR 이벤트가 자동 실행의 시작점입니다.
npm ci로 lockfile 기준 환경을 맞춥니다.
단위, 통합, E2E 테스트가 배포 전 결함을 막습니다.
TypeScript 빌드와 Docker 이미지가 릴리스 단위가 됩니다.
태그가 붙은 이미지를 Docker Hub나 ECR에 보관합니다.
로그, 지표, 알림으로 롤백 판단 근거를 남깁니다.
레지스트리 비밀번호와 토큰은 GitHub Secrets에 둡니다.
운영 배포는 팀 정책에 따라 승인 단계를 둘 수 있습니다.
테스트와 린트는 이미지 빌드보다 앞에 두면 비용이 줄어듭니다.