Jenkins에서 GitLab CI/CD로 Maven 빌드 마이그레이션
Jenkins에서 GitLab CI/CD로 Maven 빌드 마이그레이션에 대해 설명합니다.
Jenkins에 Maven 빌드가 있는 경우 Java Spring 프로젝트 템플릿을 사용하여 GitLab으로 마이그레이션할 수 있습니다. 템플릿은 기본 의존성 관리에 Maven을 사용합니다. 샘플 Jenkins 구성 # 다음 세 가지 Jenkins 예시는 각각 다른 방법을 사용하여 셸 에이전트에서 Maven 프로젝트를 테스트, 빌드 및 설치합니다: 셸 실행이 있는 Freestyle Maven 작업 플러그인이 있는 Freestyle Jenkinsfile을 사용하는 선언적 파이프라인 세 가지 예시 모두 세 개의 다른 스테이지에서 동일한 세 가지 명령을 순서대로 실행합니다: mvn test : 코드베이스에서 발견된 테스트 실행 mvn package -DskipTests : POM에 정의된 실행 가능한 유형으로 코드를 컴파일하고 첫 번째 스테이지에서 수행했으므로 테스트 실행을 건너뜁니다. mvn install -DskipTests : 컴파일된 실행 파일을 에이전트의 로컬 Maven .m2 저장소에 설치하고 다시 테스트 실행을 건너뜁니다. 이 예시들은 단일 영구 Jenkins 에이전트를 사용하며, 에이전트에 Maven이 사전 설치되어 있어야 합니다. 이 실행 방법은 셸 실행기 를 사용하는 GitLab Runner와 유사합니다. 셸 실행이 있는 Freestyle # Jenkins의 내장 셸 실행 옵션을 사용하여 에이전트의 셸에서 mvn 명령을 직접 호출하는 경우 구성은 다음과 같을 수 있습니다: Maven 작업 플러그인이 있는 Freestyle # Maven 플러그인을 사용하여 Maven 빌드 라이프사이클 에서 특정 목표를 선언하고 실행하는 경우 구성은 다음과 같을 수 있습니다: 이 플러그인은 Jenkins 에이전트에 Maven이 설치되어 있어야 하며 Maven 명령을 호출하기 위한 스크립트 래퍼를 사용합니다. 선언적 파이프라인 사용 # 선언적 파이프라인을 사용하는 경우 구성은 다음과 같을 수 있습니다: pipeline { agent any tools { maven 'maven-3.6.3' jdk 'jdk11' } stages { stage('Build') { steps { sh "mvn package -DskipTests" } } stage('Test') { steps { sh "mvn test" } } stage('Install') { steps { sh "mvn install -DskipTests" } } } } 이 예시는 플러그인 대신 셸 실행 명령을 사용합니다. 기본적으로 선언적 파이프라인 구성은 Jenkins 파이프라인 구성에 저장되거나 Jenksinfile 의 Git 저장소에 직접 저장됩니다. Jenkins 구성을 GitLab CI/CD로 변환 # 이전 예시들은 모두 약간 다르지만 모두 동일한 파이프라인 구성으로 GitLab CI/CD로 마이그레이션할 수 있습니다. 사전 조건: 셸 실행기가 있는 GitLab Runner 셸 러너에 Maven 3.6.3 및 Java 11 JDK 설치됨 이 예시는 Jenkins에서 빌드, 테스트 및 설치하
