목록 보기
[인프라를 소프트웨어처럼 3/5] 환경은 브랜치에서 태어난다: Environment Variant
데브옵스

[인프라를 소프트웨어처럼 3/5] 환경은 브랜치에서 태어난다: Environment Variant

flex
flex
2026년 7월 1일

두줄요약

공유 dev 병목을 없애기 위해 브랜치 하나로 격리 환경을 만드는 Environment Variant 설계를 소개했습니다. ArgoCD ApplicationSet으로 생성과 회수를 자동화해 환경 생명주기를 git과 연결했습니다.

문제 상황

  • 공유 dev 환경 하나를 여러 개발자가 점유해야 해 배포와 통합 검증이 직렬화되는 병목
  • 환경 생성·삭제 절차가 7단계로 복잡해 방치된 낡은 환경이 dev 전체 장애로 번지는 구조
  • 현재 살아 있는 환경과 사용자를 한눈에 보기 어려워 정리와 회수가 어려운 상태

원인 분석

  • 환경이 매니페스트 변경과 수동 동기화에 흩어져 있어 생성 책임이 분산된 구조
  • 포털로 변경을 감싸도 PR·리뷰·머지 게이트가 남아 복잡성이 해소되지 않는 문제
  • 브랜치와 환경의 생명주기가 분리되어 오래된 환경이 쉽게 outdated 되는 구조

해결 방법

  • ArgoCD ApplicationSet의 SCM Provider Generator로 브랜치 목록을 감시해 환경을 자동 생성·정리
  • dev-variant/{이름} 브랜치 push를 생성, 삭제를 회수로 연결해 환경 생명주기를 git 브랜치에 결합
  • baseline 위에 바꾼 앱만 덮는 얇은 variant를 두고 host 기반 라우팅으로 격리 환경 제공

성능/운영 포인트

  • 생성 단계가 7단계에서 1단계로 축소되고 매니페스트 변경 책임이 크게 감소
  • 바꾼 앱 몇 개의 파드만 늘어나는 구조로 여러 variant 동시 운영 부담 완화
  • dormant 환경 일괄 정리와 장기 미사용 브랜치 회수로 난립과 방치 통제

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...