GitLab CI/CD로 변환 플로우
GitLab v19.2Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
GitLab CI/CD로 변환 플로우는 Jenkins 파이프라인을 GitLab CI/CD로 마이그레이션하는 데 도움을 줍니다. 기존 Jenkins 파이프라인 구성을 분석합니다. Jenkins 파이프라인 구문을 GitLab CI/CD YAML로 변환합니다.
히스토리
- GitLab 18.3에서
duo_workflow_in_ci라는 플래그와 함께 베타로 도입. 기본적으로 비활성화되어 있지만 인스턴스 또는 사용자에 대해 활성화할 수 있습니다. - GitLab 18.4에서 기능 플래그
duo_workflow_in_ci가 기본적으로 활성화됨. 기능 플래그duo_workflow도 활성화되어야 하지만 기본적으로 활성화되어 있습니다. - GitLab 18.8에서 일반 공개.
- GitLab 18.9에서 기능 플래그
duo_workflow_in_ci와duo_workflow제거. - GitLab 18.10에서 GitLab Credits를 사용하여 GitLab.com의 Free 티어에서 사용 가능.
GitLab CI/CD로 변환 플로우는 Jenkins 파이프라인을 GitLab CI/CD로 마이그레이션하는 데 도움을 줍니다. 이 플로우는:
-
기존 Jenkins 파이프라인 구성을 분석합니다.
-
Jenkins 파이프라인 구문을 GitLab CI/CD YAML로 변환합니다.
-
GitLab CI/CD 구현을 위한 모범 사례를 제안합니다.
-
변환된 파이프라인 구성으로 머지 리퀘스트를 만듭니다.
-
Jenkins 플러그인을 GitLab 기능으로 마이그레이션하는 방법을 안내합니다.
이 플로우는 GitLab UI에서만 사용할 수 있습니다.
전제 조건#
-
GitLab Duo Agent Platform의 전제 조건을 충족합니다.
-
최상위 그룹에 대해 기본 플로우 허용 및 GitLab CI/CD로 변환이 켜져 있는지 확인합니다.
-
대상 GitLab 프로젝트에서 Developer, Maintainer 또는 Owner 권한을 보유합니다.
-
Jenkins 파이프라인 구성에 대한 액세스 권한을 보유합니다.
-
프로젝트에 대해 자체 러너를 구성하거나 GitLab 호스팅 러너를 켭니다.
플로우 사용#
Jenkinsfile을 GitLab CI/CD로 변환하려면:
-
상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
-
Jenkinsfile을 엽니다.
-
파일 위에서 GitLab CI/CD로 변환을 선택합니다.
-
AI > 세션을 선택하여 진행 상황을 모니터링합니다.
-
파이프라인이 성공적으로 실행되면 왼쪽 사이드바에서 코드 > 머지 리퀘스트를 선택합니다.
Duo Workflow: Convert to GitLab CI제목의 머지 리퀘스트가 표시됩니다. -
머지 리퀘스트를 검토하고 필요에 따라 변경합니다.
변환 프로세스#
프로세스는 다음을 변환합니다:
-
파이프라인 스테이지 및 단계.
-
환경 변수.
-
빌드 트리거 및 매개변수.
-
아티팩트 및 종속성.
-
병렬 실행.
-
조건부 로직.
-
빌드 후 작업.
예시#
Jenkinsfile 입력:
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'npm install'
sh 'npm build'
}
}
stage('Test') {
steps {
sh 'npm test'
}
}
stage('Deploy') {
when { branch 'main' }
steps {
sh './deploy.sh'
}
}
}
}
GitLab 출력:
stages:
- build
- test
- deploy
build:
stage: build
script:
- npm install
- npm build
artifacts:
paths:
- node_modules/
- dist/
test:
stage: test
script:
- npm test
deploy:
stage: deploy
script:
- ./deploy.sh
only:
- main