효과적인 CI/CD는 pipeline 설계, 테스트, 보안, deploy, 문화에 걸쳐 확립된 모범 사례를 따릅니다. 이를 따르는 것은 단지 결함 있는 프로세스를 자동화하는 것이 아니라 실제 가치를 전달하는 빠르고, 안정적이며, 안전한 pipeline을 만듭니다.
pipeline과 테스트
✓ 자주 commit/통합; main branch를 항상 GREEN(동작) 유지
✓ 강력한 자동 테스트 (토대 — CI의 가치는 이에 달림); 테스트 피라미드
✓ pipeline을 빠르게 유지 (caching, 병렬화) → 빠른 피드백
✓ FAIL FAST — 빠른 검사 먼저; 실패한 pipeline이 진행을 멈춤
✓ 깨진 build를 즉시 고치기 (최우선 — 빨간 main은 모두를 막음)
✓ pipeline을 코드로 (버전 관리, 리뷰); 한 번 build하고 동일 artifact를 어디나 deploy
deploy와 안정성
✓ deploy 자동화 (일관, 반복 가능); 작은 변경을 자주 deploy (낮은 위험)
✓ 위험한 변경에 안전한 DEPLOYMENT 전략(rolling/blue-green/canary) 사용
✓ rollback을 쉽고 테스트되게; deploy를 릴리스에서 분리하기 위해 feature FLAG 사용
✓ deploy 모니터링; 실패 시 자동 rollback; 하위 호환 DB migration
✓ 일관된 환경(IaC); dev → staging → prod로 승격
