GitHub Actions

NestJS CI/CD 파이프라인 실행 흐름

push와 PR 이벤트가 검증을 시작하고, 테스트를 통과한 변경만 Docker 이미지와 운영 배포 단계로 넘어갑니다.

검증에서 배포까지

CI passes before CD
01

push / PR

브랜치 변경이나 PR 생성이 워크플로우를 시작합니다.

triggerPR, main push, tag release
02

checkout / Node

코드를 받고 Node 버전과 npm 캐시를 맞춥니다.

setuplockfile, Node version, cache key
03

npm ci / test

lockfile 기준 설치 후 테스트로 품질 관문을 세웁니다.

quality gatelint, unit, e2e, build
04

Docker build / push

통과한 커밋 SHA로 이미지를 만들고 레지스트리에 저장합니다.

artifactimage tag, digest, registry
05

deploy / monitor

운영에 반영한 뒤 로그와 지표로 롤백 여부를 판단합니다.

observehealth, log, rollback signal

Secrets 경계

레지스트리 계정, SSH 키, 운영 환경 변수는 코드가 아니라 GitHub Secrets에서 실행 시점에만 주입합니다.

DOCKER_PASSWORD EC2_SSH_KEY PROD_DB_PASSWORD JWT_SECRET

실패 위치

테스트 실패는 이미지 생성을 막고, 배포 실패는 이전 태그를 다시 선택할 수 있게 남겨 둡니다.

롤백 판단

알림, 오류율, 헬스 체크를 기준으로 새 컨테이너 유지 또는 이전 이미지 복귀를 결정합니다.