极狐 GitLab

转换为极狐GitLab CI/CD 流程

Tier: 基础版,专业版,旗舰版

Offering: JihuLab.com,私有化部署

版本历史
  • 作为 测试版 引入于极狐GitLab 18.3,带有一个功能标志 名为 duo_workflow_in_ci。默认禁用,但可以为实例或用户启用。
  • 功能标志 duo_workflow_in_ci 在极狐GitLab 18.4 中默认启用。功能标志 duo_workflow 也必须启用,但它是默认启用的。
  • 在极狐GitLab 18.8 GA。
  • 功能标志 duo_workflow_in_ci 和 duo_workflow 在极狐GitLab 18.9 中被移除。
  • 在极狐GitLab 18.10,在 JihuLab.com 的基础版上通过极狐GitLab 积分可用。

转换为极狐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 输入:

groovy
1pipeline { 2 agent any 3 stages { 4 stage('Build') { 5 steps { 6 sh 'npm install' 7 sh 'npm build' 8 } 9 } 10 stage('Test') { 11 steps { 12 sh 'npm test' 13 } 14 } 15 stage('Deploy') { 16 when { branch 'main' } 17 steps { 18 sh './deploy.sh' 19 } 20 } 21 } 22}

极狐GitLab 输出:

yaml
1stages: 2 - build 3 - test 4 - deploy 5 6build: 7 stage: build 8 script: 9 - npm install 10 - npm build 11 artifacts: 12 paths: 13 - node_modules/ 14 - dist/ 15 16test: 17 stage: test 18 script: 19 - npm test 20 21deploy: 22 stage: deploy 23 script: 24 - ./deploy.sh 25 only: 26 - main