# Affected build와 위험 기반 gate

> 변경 감지·매트릭스 CI·테스트 피라미드·앱별 배포와 rollout

- Canonical: https://learning.reopt.ai/courses/enterprise-monorepo/lessons/em-m3-concept
- Language: ko-KR
- HTML: https://learning.reopt.ai/courses/enterprise-monorepo/lessons/em-m3-concept

---

[엔터프라이즈 모노레포 설계](/courses/enterprise-monorepo) 3. CI·테스트·독립 배포 5 / 9

# Affected build와 위험 기반 gate

변경 감지·매트릭스 CI·테스트 피라미드·앱별 배포와 rollout
개념 학습 45 XP 9분

변경된 패키지만 build·test하되 로그인·결제·권한 같은 배포 차단 시나리오는 dependency graph와 무관하게 보존해야 합니다. 앱마다 독립 프로젝트를 두고 Preview→rolling release→rollback을 운영합니다.
빠른 CI는 덜 검증하는 CI가 아니다 unit은 모든 PR, integration은 관련 app 변경, 핵심 E2E는 merge/release gate, 나머지는 nightly로 배치합니다. 변경 감지에는 충분한 git history가 필요합니다.

| 계층 | 실행 조건 | 실패 의미 |
| Unit | 모든 관련 PR | local contract 회귀 |
| Integration | app/domain 변경 | package 결합 실패 |
| E2E critical | main/release | 배포 blocker |
| Nightly full | 정기 전체 | 비핵심 회귀·drift |

- 1 Affected graph base commit과 dependency 영향 범위를 계산합니다.

- 2 Matrix 분산 앱·패키지별 job을 병렬화하고 cache를 공유합니다.

- 3 Gate 보호 핵심 위험 시나리오는 항상 release 판단에 남깁니다.

- 4 독립 rollout app별 Preview·10→50→100%와 즉시 rollback을 둡니다.

실무에 남길 기준

- 변경 감지는 git history와 dependency graph의 정확성에 의존한다
- E2E 수보다 release blocker와 직접 연결된 시나리오가 중요하다
- 모노레포여도 배포·환경·rollback은 app 단위로 격리한다

[이전](/courses/enterprise-monorepo/lessons/em-m2-scenario) 이해했어요 · 계속

---

에이전트용 사이트 안내: https://learning.reopt.ai/llms.txt · 사이트맵: https://learning.reopt.ai/sitemap.xml · 문의: https://learning.reopt.ai/contact
