InfoGrab Docs

GitLab CI/CD로 변환 플로우

요약

GitLab CI/CD로 변환 플로우는 Jenkins 파이프라인을 GitLab CI/CD로 마이그레이션하는 데 도움을 줍니다. 이 플로우는 GitLab UI에서만 사용할 수 있습니다. Jenkinsfile을 변환하려면 다음이 필요합니다:

히스토리
  • 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_ciduo_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에서만 사용할 수 있습니다.

전제 조건#

Jenkinsfile을 변환하려면 다음이 필요합니다:

플로우 사용#

Jenkinsfile을 GitLab CI/CD로 변환하려면:

  1. 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Jenkinsfile을 엽니다.
  3. 파일 위에서 GitLab CI/CD로 변환을 선택합니다.
  4. AI > 세션을 선택하여 진행 상황을 모니터링합니다.
  5. 파이프라인이 성공적으로 실행되면 왼쪽 사이드바에서 코드 > 머지 리퀘스트를 선택합니다. Duo Workflow: Convert to GitLab CI 제목의 머지 리퀘스트가 표시됩니다.
  6. 머지 리퀘스트를 검토하고 필요에 따라 변경합니다.

변환 프로세스#

프로세스는 다음을 변환합니다:

  • 파이프라인 스테이지 및 단계.
  • 환경 변수.
  • 빌드 트리거 및 매개변수.
  • 아티팩트 및 종속성.
  • 병렬 실행.
  • 조건부 로직.
  • 빌드 후 작업.

예시#

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

GitLab CI/CD로 변환 플로우

Tier: [Free](/19.0/subscriptions/gitlab_credits/#for-the-free-tier), Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

GitLab CI/CD로 변환 플로우는 Jenkins 파이프라인을 GitLab CI/CD로 마이그레이션하는 데 도움을 줍니다. 이 플로우는 GitLab UI에서만 사용할 수 있습니다. Jenkinsfile을 변환하려면 다음이 필요합니다:

히스토리
  • 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_ciduo_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에서만 사용할 수 있습니다.

전제 조건#

Jenkinsfile을 변환하려면 다음이 필요합니다:

플로우 사용#

Jenkinsfile을 GitLab CI/CD로 변환하려면:

  1. 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Jenkinsfile을 엽니다.
  3. 파일 위에서 GitLab CI/CD로 변환을 선택합니다.
  4. AI > 세션을 선택하여 진행 상황을 모니터링합니다.
  5. 파이프라인이 성공적으로 실행되면 왼쪽 사이드바에서 코드 > 머지 리퀘스트를 선택합니다. Duo Workflow: Convert to GitLab CI 제목의 머지 리퀘스트가 표시됩니다.
  6. 머지 리퀘스트를 검토하고 필요에 따라 변경합니다.

변환 프로세스#

프로세스는 다음을 변환합니다:

  • 파이프라인 스테이지 및 단계.
  • 환경 변수.
  • 빌드 트리거 및 매개변수.
  • 아티팩트 및 종속성.
  • 병렬 실행.
  • 조건부 로직.
  • 빌드 후 작업.

예시#

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