반응형
PR Preview 환경을 구성하게 된 이유
보통은 Prod / Dev / Test 이렇게 3개 환경을 두고 개발을 하죠.
하지만 제가 있는 곳은 스타트업이다 보니 비용 압박 때문에 Prod / Test 딱 두 개만 있었습니다.
문제는 여기서 시작됐습니다.
- Dev 환경이 없다 보니, 개발자분들이 기능을 테스트하려면 Test 환경을 뺏어 써야 했습니다.
- 그러다 보니, QA 팀도 쓰고, 다른 팀도 쓰는데… 개발자가 자기 브랜치 테스트를 위해 올려버리면 Test 환경으로 사용하던 다른 팀원 분들의 동작이 멈추게 됩니다..
- “이거 왜 안 되지?” 하고 보면, 다른 사람이 방금 테스트 중이던 API가 바뀌어 있던 경험… 다들 해보셨을 겁니다.
그러다 알아보던 중, 다른 회사들은 개발자가 PR 올리면 자동으로 Preview 환경이 구성되는 것을 알게되어 저도 PR Preview 환경 구성을 해보게 되었습니다.
아키텍처 개요
우선 저는 EKS를 사용하고 있고, 아래 툴들을 이미 사용을 하고 있었습니다.
해당 툴들을 사용하여 어떻게 구성을 하게 되었는지 설명드리겠습니다.
- ArgoCD (배포 도구)
- ESO (시크릿 관리 연동 도구)
- Helm (k8s 패키지 매니저)
기본 시나리오
일단 시나리오를 예를 들면 아래와 같습니다.
PR Preview 시나리오 (Front 예시)
1. PR 생성
- Front 개발자가 새로운 기능이나 수정사항을 구현 후 PR 생성
2. 이미지 빌드 / 푸시 (Github Action)
- Github Action이 PR을 감지하고 Front 이미지 빌드/ECR 푸시
3. ArgoCD Applicationset 사용하여 배포
- ArgoCD Applicationset도 PR을 감지하고 ECR 에 있는 Helm 차트를 가져와서 배포
4. Preview 환경 검증
이제 다음 글 부터 본격적으로 제가 Preview 환경을 어떻게 구성을 했는지 설명해보도록 하겠습니다.
감사합니다.
반응형
'Pipeline' 카테고리의 다른 글
“Helm + ArgoCD + ApplicationSet으로 구축하는 PR Preview 환경 (3편: Preview 환경 배포하기)” (0) | 2025.09.16 |
---|---|
“Helm + ArgoCD + ApplicationSet으로 구축하는 PR Preview 환경 (2편: Helm 차트 구성)” (2) | 2025.09.12 |
ArgoCD 배포 완료 시, Google-Chat으로 알림 보내기 (Helm 차트의 values.yaml 파일 수정) (0) | 2025.06.23 |
Blue - Green 배포 실습 해보기 (1) | 2024.12.20 |
Github Action 원하는 환경에서 Workflow 작업 해보기 (1) | 2024.12.19 |