**Continuous Integration(CI)**은 개발자들이 코드를 공유 저장소에 자주 merge하고, 각 통합이 자동으로 검증(build 및 테스트)되는 실천 방법입니다. 문제를 일찍 발견하고 코드베이스를 건강하고 동작하는 상태로 유지합니다.
핵심 실천 방법
개발자들이 코드를 공유/main branch에 자주(최소 매일) 통합합니다:
→ 각 통합은 자동으로 build되고 테스트됨 (CI 서버/pipeline에 의해)
→ 문제가 즉시 발견됨 (몇 주 후가 아니라 각 작은 변경마다)
→ vs 옛날 방식: 개발자들이 오랜 기간 고립되어 작업 → 결국 갈라진 작업을
merge할 때 고통스러운 "integration hell" (수많은 충돌, 예상치 못한 일, 버그).
각 통합 시 일어나는 일
코드가 push되거나 (PR이 열리면), CI pipeline이 자동으로:
1. 코드를 CHECK OUT
2. BUILD (컴파일, 의존성 설치)
3. 테스트 실행 (단위, 통합 등)
4. 다른 검사 실행 (linting, 정적 분석, 보안 스캔)
5. 결과 보고 (통과/실패) — 무언가 깨지면 빠르게 실패
→ branch는 동작하고 검증된 상태로 유지됩니다.
