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가지 프로젝트를 생성해서 다루겠습니다.
첫번째로 실제 배포할 애플리케이션의 소스 코드 프로젝트 입니다.
두번째인 젠킨스 파이프라인이 정의된 프로젝트 입니다. /var 디렉토리 아래에 실제 파이프라인 실행과정이 정의된 파일들이 들어 있습니다.
세번째 마지막으로 배포할 App 의 헬름 차트가 위치한 프로젝트 입니다.
이어서 작성 중 입니다..
'IT > CICD' 카테고리의 다른 글
Gitlab 설치 시 timezone 설정 및 불필요한 구성 요소 제외하기. (0) | 2022.09.29 |
---|