오늘은 자동화의 꽃인 파이프라인을 구현해보도록 하겠습니다. 배포 자동화는 다양한 방법으로 구현할 수 있습니다. 예를 들어서, github actions로 beanstalk에 패키지를 전송하여 배포할 수도 있으며, code pipeline을 통해 빌드와 배포를 자동화할 수도 있고, github actions로 빌드한 파일을 code deploy에 전달하는 방법도 있습니다. 파이프라인을 추상적으로 보자면, 빌드 -> (테스트) -> 배포의 과정을 가지고 있습니다. 이번에는 kubernetes를 활용하는 환경에서 github action과 argocd를 활용해 빌드 및 배포를 자동화하는 방법을 구현합니다. 나름대로 구조를 구체화했을 때, 아래와 같은 형태를 따릅니다. 과정은 아래와 같습니다. 개발 내용 커밋/..
argocd
실무환경에서 argoCD를 사용한다면, 대부분의 repo가 private repository로 존재한다. 따라서 argoCD가 private repository에 접근할 수 있도록 권한을 잘 부여하는 것이 중요하다. HTTPS Username, Password 사용자 이름과 비밀번호가 필요한 비공개 리포지토리는 일반적으로 git@ 또는 ssh://가 아닌 https:// 로 시작하는 URL을 사용한다. argocd cli 를 통한 credential 설정은 다음과 같다. argocd repo add https://github.com/argoproj/argocd-example-apps --username --password github와 같은 저장소의 레포지터리 주소를 넣고, username과 passwo..
1️⃣ ArgoCD란? ArgoCD에 관한 공식적인 설명은 다음과 같다. Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. 한 마디로 쿠버네티스에 사용되는 선언적인 GitOps CD 툴이라는 의미다. GitOps는 Git을 활용하여 DevOps를 Git 환경으로 수행하는 것을 의미한다. 예를 들어 GitOps 파이프라인들은 다음과 같은 것들이 있다. 구성을 보면 대부분 개발 -> 레포지터리 반영 -> CI(테스트, 빌드 등) -> CD(이미지 빌드 및 전달, 애플리케이션 배포)의 과정을 거친다. 여기서 ArgoCD가 Kubernetes에 변경 사항을 업데이트하고 배포하는 과정을 담당하는 도구로 동작하는 것으로 이해했다. 2..