CI/CD pipeline

커밋은 품질 게이트를 지나 배포된다

NestJS CI/CD는 코드를 자주 합치되, 빌드와 테스트를 통과한 산출물만 레지스트리와 운영 환경으로 보낸다.

CI: 통합 품질 확인

1. Commit / Pull Request작은 변경을 main 후보에 올린다.
2. Install + Buildnpm ci, TypeScript build, Docker image build를 수행한다.
3. Test gateunit, e2e, lint가 실패하면 배포 산출물을 만들지 않는다.

CD: 배포 가능 상태 유지

4. Image publish통과한 이미지만 registry에 태그와 함께 푸시한다.
5. Deploystaging 또는 production에 배포하고 migration 조건을 확인한다.
6. Observe로그, health check, rollback 신호를 계속 본다.
상황파이프라인 결정이유
테스트 실패중단깨진 코드를 이미지로 만들지 않는다.
빌드와 테스트 통과publish동일한 산출물을 staging과 production에서 재사용한다.
운영 배포 승인 필요대기지속적 제공은 자동 배포가 아니라 배포 가능 상태를 보장한다.