본문 바로가기

DevOps/CICD

(3)
[CI/CD] (3) ArgoCD를 사용하는 이유? 젠킨스를 가지고 CD 영역까지 자동화 할수 있다. 하지만, 왜 ArgoCD를 쓰고 싶을까? GitOps라는 개념때문이다. 1. GitOps GitOps 라는 용어는 Weaveworks에서 만들었습니다. GitOps의 핵심은 Git 저장소에 저장된 쿠버네티스 매니페스트 같은 파일을 이용하여, 배포를 선언적으로 한다는 것입니다. 즉, Git에 저장된 매니페스트가 쿠버네티스 클러스터에도 똑같이 반영된다는 것입니다. 이러한 방법은 이해하기 쉬운 운영 모델을 제공하며, Git을 사용하기 때문에 보안 및 감사 기능도 기본으로 제공됩니다. 그리고 재해로부터 쉽게 복구할 수 있습니다. 무엇보다도 큰 장점은 개발자 친화적이라는 것입니다. 이런 선언적 스타일은 쿠버네티스와 잘 어울립니다. 이미 아시고 계신분들도 있지만, ..
[CI/CD] (2) 젠킨스를 사용하는 이유 젠킨스를 사용하는 이유 ( 소프트웨어 생명주기 ) 우선, 소프트웨어 생명주기에 대한 이야기를 해볼까 한다. 소프트웨어가 생성되는 일련의 과정을 다음과 같이 그릴수 있다. 이러한 과정을 거쳐서 만들어지는 소프트웨어는 이 과정 사이에 가시성이 필요하다. 그러한 이점을 젠킨스와 같은 CICD 툴이 제공 한다. 어느 시점에 어떤 에러를 통해서 빌드나 테스트가 실패했는지를 추적관리 할수 있으며 , 디버깅에 용이하다. BUILD - TEST - RELEASE 의 전범위적인 단계에서 젠킨스를 사용하는것이 가능하며 CI/CD 툴을 이용하는 것의 가장 큰 장점은 이러한 일련의 과정들에 대한 가시성과 멱등성을 제공한다는 것이다. 모놀리스 어플리케이션에도 Jenkins를 썼었어요! CI/CD를 필자는 쿠버네티스와 연동하여 ..
[CI/CD] (1) CI/CD 개념 ▶ CI / CD의 개념: CI / CD는 continous integration , continous Delivery 라는 용어의 개발 생태계에서 오래전 부터 사용되던 자동화 툴이다. 실제적으로 CI & CD가 의미하는것은 우리가 검증하고 릴리즈 하는 모든 작업을 자동화된 빌드와 테스트 툴을 이용하여 전체적인 과정을 파이프라인화 하여 자동으로 검증하고 자동으로 배포해주는 환경을 만들어 어플리케이션을 생성하는 과정을 자동화 하는것이다. 하지만, Cloud Native 시장이 확산되면서 CICD라는 명칭은 컨테이너화, 배포환경까지의 경로를 자동화하는 일련의 작업들을 전체적으로 CICD라고 부르게 된것 같다. ▶ CI ( Continuous integration ) 수많은 개발자의 serveral times..