GitLab Runner로 CI/CD 구축하고 Maven 빌드 시간 단축!

by DD
8개월 전
조회수 7

GitLab RunnerHelm Chart를 통해 Kubernetes에 설치하고, 프로젝트와 연동하는 방법을 설명함

Maven 의존성 캐싱다중 스레드 처리를 통해 Maven 빌드 시간을 11초로 단축함

.gitlab-ci.yaml 파일 작성 및 Azure Container Registry(ACR) 연동을 통한 CI/CD 파이프라인 구축

Kubernetes 환경에서의 GitLab Runner 설치

GitLab Runner는 Helm Chart를 사용하여 Kubernetes 클러스터에 배포된다. 구체적으로, values.yaml 파일을 통해 Runner의 설정(이미지, 토큰, 권한 등)을 정의한다. 따라서, Persistent Volume(PV)Persistent Volume Claim(PVC) 설정을 통해 Maven 의존성 캐싱을 위한 Azure Blob Storage를 마운트한다.

Maven 빌드 시간 단축을 위한 핵심 전략

Maven 빌드 시간 단축을 위해 다중 스레드(-T 1C)를 사용하고, 테스트 및 Javadoc 생성을 생략한다. 반면, Maven 의존성 라이브러리 캐싱을 위해 Azure Blob Storage를 활용하여 빌드 시간을 획기적으로 줄였다. 결과적으로, 최초 4분 44초에서 11초로 빌드 시간을 단축했다.

.gitlab-ci.yaml 파일 작성 및 에러 해결

.gitlab-ci.yaml 파일은 CI/CD 파이프라인을 정의하는 핵심 요소이다. stages, variables, cache, script 등을 설정하여 빌드, 테스트, 배포 단계를 구성한다. 따라서, docker:dind 사용 시 발생하는 'Is the docker daemon running?' 에러는 `--tls=false` 설정을 통해 해결한다.

[CI/CD] GitLab-Runner 연동 가이드 (feat. Maven 빌드 시간 단축)