IT/CICD

Gitlab, Jenkins, Sonarqube, Nexus, Helm 을 이용한 CI/CD 파이프라인 구성.(아직 작성중인 글)

고슴도치 엔지니어 2022. 8. 12. 17:57

Gitlab, Jenkins, Sonarqube, Nexus, Helm 을 이용한 CI/CD 파이프라인 구성에 대한 내용을 간단하게 작성 해 보려고 합니다.

 

Gitlab - 애플리케이션 소스, Jenkins 설정 파일, Helm 차트 레포지토리 역할

Jenkins - 빌드, 빌드 및 배포 제어 역할

Sonarqube - 소스 취약점 분석 역할

Nexus - 각종 라이브러리 및 이미지 저장소

Helm - 배포 파이프라인의 마지막 단계로 배포 및 쿠버네티스 차트 관리의 편리성을 위해 도입

 

만약 실제로 배포할 App이 1개 라면 Gitlab에는 총 1+2개의 프로젝트가 생겨야 합니다.

 

첫번째 : 실제 배포할 App 소스 코드 프로젝트 (ex : Spring 기반 자바 어플리케이션)

두번째 : Jenkins Pipeline이 정의 된 프로젝트

세번째 : 배포할 App의 helm chart가 정의된 프로젝트

 

이 포스팅에서는 

아래 사진과 같이 3가지 프로젝트를 생성해서 다루겠습니다.

 

App 소스코드가 저장된 프로젝트

첫번째로 실제 배포할 애플리케이션의 소스 코드 프로젝트 입니다.

 

 

 

Jenkins 파이프라인을 위한 프로젝트

두번째인 젠킨스 파이프라인이 정의된 프로젝트 입니다. /var 디렉토리 아래에 실제 파이프라인 실행과정이 정의된 파일들이 들어 있습니다.

 

 

 

배포할 앱의 헬름 차트

 

 

세번째 마지막으로 배포할 App 의 헬름 차트가 위치한 프로젝트 입니다.

 

 

 

 

 

 

이어서 작성 중 입니다..