CI/CD PIPELINE

CI/CD는 코드 변경을 검증 가능한 배포 단위로 바꾸는 자동화 흐름입니다.

NestJS에서는 테스트, 빌드, Docker 이미지, 레지스트리, 배포, 모니터링을 하나의 파이프라인으로 묶어 릴리스 위험을 줄입니다.

CI통합 직후 빌드와 테스트로 결함 조기 발견
Delivery항상 배포 가능한 아티팩트 상태 유지
Deploy통과한 변경을 운영 환경에 반영
SCM작은 단위 커밋

main 또는 PR 이벤트가 자동 실행의 시작점입니다.

Install의존성 고정

npm ci로 lockfile 기준 환경을 맞춥니다.

Test품질 게이트

단위, 통합, E2E 테스트가 배포 전 결함을 막습니다.

Build아티팩트 생성

TypeScript 빌드와 Docker 이미지가 릴리스 단위가 됩니다.

Push레지스트리 저장

태그가 붙은 이미지를 Docker Hub나 ECR에 보관합니다.

Observe배포 후 감시

로그, 지표, 알림으로 롤백 판단 근거를 남깁니다.

Secrets 분리

레지스트리 비밀번호와 토큰은 GitHub Secrets에 둡니다.

수동 승인 지점

운영 배포는 팀 정책에 따라 승인 단계를 둘 수 있습니다.

실패는 빠르게

테스트와 린트는 이미지 빌드보다 앞에 두면 비용이 줄어듭니다.