Stage, gate, environment
Pipeline 은 그냥 'push 시 돌아가는 script' 가 아니야. stage 의 directed graph 야 — gate 로 분리되고, 하나 이상의 environment 에서 끝나.
Classic 해부도:
- Source — checkout. 처리할 정확한 commit.
- Build — compile, bundle, containerize. 출력은 artifact — 결정적이고 이름 있고 immutable 한 물건.
- Test — unit, integration, acceptance. 보통 병렬화.
- Static analysis — lint, type-check, security scan, license scan.
- Package — deploy 용 artifact 조립 (Docker image, npm tarball, wheel).
- Deploy → staging — 보통 자동.
- Acceptance / smoke test staging 대상.
- Deploy → production — Delivery: 승인 gate. Deployment: 자동.
- Post-deploy 검증 — prod smoke test, observability check.
모든 프로젝트가 모든 stage 가 필요하지는 않아. Static 사이트는 build/package/deploy 를 하나로 합칠 수 있고. 규제 받는 은행 앱은 5 개 더 추가할 수 있어 (compliance scan, change advisory board 승인, audit log emission). 모양은 항상 artifact 둘레의 gate graph 야.