argocd 코드 수정을 위해 로컬에서 빌드하기 (feat OSSCA)

오픈소스 컨트리뷰션 아카데미 argocd 프로젝트에 참여중이라 argocd를 로컬에서 빌드하고 할일이 생겼다.

 

argocd에서는 사실 로컬로 프로세스를 띄워서 테스트하는 가이드를 주는데 바로 goreman! 

워낙 내 소중한 imac에 뭔가 까는게 싫어서 바로 쿠버네티스에 올려서 테스트하도록 구성해서 테스트 하고있다.

 

 

누군가 또 테스트할 사람도 있을 테니 간단 가이드 작성


1. orbstack 설치 후 실행 

   orbstack은 mac에서만 설치 가능

 

2. argo-cd 프로젝트 포크 뜨기

https://github.com/argoproj/argo-cd

 

GitHub - argoproj/argo-cd: Declarative Continuous Deployment for Kubernetes

Declarative Continuous Deployment for Kubernetes. Contribute to argoproj/argo-cd development by creating an account on GitHub.

github.com

 

3. 포크 뜬 내 프로젝트 clone받기

 

4. argocd 이미지 빌드를 위한 환경변수 설정하기

export IMAGE_NAMESPACE=레파지토리 이름  ex) nueavv -> docker.io/nueavv
export IMAGE_TAG=테스트 버전  -> docker.io/nueavv/argocd:$IMAGE_TAG

 

5. 코드 수정후 이미지 빌드

make image

 

 

 

6. 이미지 버전에 맞춰 배포 파일 수정

make manifests

 

7. 빌드 된 이미지 배포하기

kind를 쓰거나 하면 이제 이미지를 노드에로드하는 명령어를 써줘야하는데

orbstack을 쓰고 거기 클러스터에 바로 테스트 하는거라면 imagePullPolicy를 Never로 바꾼뒤 배포하면 이미지를 업로드 하지 않아도 파드가 알아서 바뀐다. 

kubectl apply -n argocd -f manifests/install.yaml