Manifest 파일을 레포지토리 하나에서 따로 관리하지 않고, 각 서비스의 레포지토리에서 각각 관리하는 구조로 수정하면서
ci.yml 과 jenkinsfile 에 대한 수정사항을 정리해봤습니다.
1. ci.yml (GitHub Actions) 수정 내용
CI 파이프라인이 Jenkins를 호출하는 마지막 단계(Trigger Jenkins CD Pipeline)에서, 배포할 저장소의 주소와 정확한 코드 버전(커밋 ID)을 함께 보내도록 수정했습니다.
추가된 환경 변수:
APP_REPO_URL: CI가 실행된 저장소(깃헙)의 전체 URL
GIT_COMMIT_SHA: CI를 실행시킨 커밋의 고유 ID (예: a1b2c3d4...)
curl 명령어 수정:
기존에 보내던 FULL_IMAGE_NAME에 더해, APP_REPO_URL과 GIT_COMMIT_SHA를 파라미터로 추가하여 Jenkins에 전달하도록 함
2. Jenkinsfile (Jenkins) 수정 내용
GitHub Actions로부터 추가된 두 개의 정보를 받을 수 있도록 파라미터를 추가하고, Git Checkout 로직을 변경했습니다.
parameters 블록 수정:
APP_REPO_URL과 GIT_COMMIT_SHA라는 이름의 문자열 파라미터를 추가했습니다.
stages 수정:
기존의 Checkout Manifest Repository 스테이지의 이름을 Checkout Application Source Code로 변경했습니다.
이 스테이지 안의 git 명령어를, 전달받은 APP_REPO_URL과 GIT_COMMIT_SHA 파라미터 값을 사용해 정확한 버전의 소스코드를 받아오도록 수정했습니다.
'트러블슈팅' 카테고리의 다른 글
| 카카오 클라우드 & Kubernetes 환경에 CD 트러블 슈팅 - 8 (Jenkins -> ArgoCD) (0) | 2025.08.22 |
|---|---|
| 카카오 클라우드 & Kubernetes 환경에 CD 트러블 슈팅 - 7 (0) | 2025.08.22 |
| 카카오 클라우드 & Kubernetes 환경에 CD 트러블 슈팅 - 5 (2) | 2025.08.12 |
| 카카오 클라우드 & Kubernetes 환경에 CD 트러블 슈팅 - 4 (4) | 2025.08.12 |
| 카카오 클라우드 & Kubernetes 환경에 CD 트러블 슈팅 - 3 (4) | 2025.08.10 |