![[코드가 환경을 모르는 구조 2/7] 배포 코드가 환경을 모르는 구조](https://flex.team/blog/og/main.jpg)
데브옵스
[코드가 환경을 모르는 구조 2/7] 배포 코드가 환경을 모르는 구조
두줄요약
배포 코드가 환경 이름을 직접 읽지 않도록 Helm values와 GitOps 규율로 분리한 구조를 설명했습니다. Jenkinsfile까지 같은 원칙을 적용해 배포 이력을 Git으로 남기는 방법을 다뤘습니다.
핵심 내용
- 배포 코드가 환경 이름을 직접 읽지 않도록 설계한 구조
- Helm values를 기본층, 환경층, 변종층으로 나눠 환경 차이를 외부 값으로 주입하는 방식
- GitOps와 ArgoCD, App-of-Apps로 Git 히스토리를 배포 이력으로 삼는 방식
- Jenkinsfile도 파라미터 주입만 받게 하여 빌드 파이프라인까지 같은 규율을 적용한 점
적용해볼 점
- 환경별 분기를 코드에 박기보다 values나 파라미터로 밀어내는 경계 유지
- 배포 상태와 롤백을 Git 중심으로 관리하는 구조 검토
- 파이프라인의 if 분기 증가 시 구조적 리팩토링 기준 마련
