GitHub Actions

workflow는 job 의존성과 브랜치 규칙으로 배포를 제어한다

PR은 검증까지만, main push는 이미지와 배포까지 진행합니다. 각 job은 앞 단계 산출물이 있어야 다음 단계로 넘어갑니다.

event

push / pull_request

브랜치와 이벤트 종류가 실행 범위를 결정합니다.

output: ref, SHA, actor
ci

checkout → npm ci → test

잠금 파일 기준 설치와 테스트로 변경을 검증합니다.

gate: lint, unit, e2e, build
image

Docker build / push

main에서만 커밋 SHA 태그 이미지를 레지스트리에 저장합니다.

needs: ci passed
deploy

prod deploy

환경 보호 규칙과 승인 후 운영 서버가 새 이미지를 가져갑니다.

input: image digest, secrets
verify

health / monitor

배포 직후 헬스 체크와 오류율을 보고 롤백 여부를 판단합니다.

signal: 5xx, latency, alert

PR 분기

테스트가 실패하면 merge를 막고 이미지나 운영 Secrets는 쓰지 않습니다.

main 배포 분기

검증된 커밋만 이미지로 만들고, digest가 배포 입력이 됩니다.

실패 분기

CI 실패는 중단, CD 실패는 이전 이미지 태그로 되돌릴 수 있어야 합니다.

Secrets boundary

민감값은 필요한 job에서만 열립니다

DOCKER_PASSWORD EC2_SSH_KEY PROD_DB_PASSWORD JWT_SECRET