教程:创建并运行您的第一个极狐GitLab CI/CD 流水线
Tier: 基础版,专业版,旗舰版
Offering: JihuLab.com,私有化部署
本教程向您展示如何在极狐GitLab 中配置并运行您的第一个 CI/CD 流水线。
如果您已经熟悉基本的 CI/CD 概念,可以了解教程:创建复杂的流水线中的常用关键字。
先决条件
在开始之前,请确保您已具备:
- 极狐GitLab 中一个您希望为其使用 CI/CD 的项目。
- 该项目的维护者或所有者角色。
如果您没有项目,可以在 https://jihulab.com 上创建一个公开项目。
步骤
要创建并运行您的第一个流水线:
-
确保您有可用的 runner 来运行您的作业。
如果您使用的是 JihuLab.com,可以跳过此步骤。JihuLab.com 会为您提供实例 runner。
-
在代码仓库的根目录下创建 .gitlab-ci.yml 文件。 该文件是您定义 CI/CD 作业的地方。
当您将该文件提交到代码仓库后,runner 会运行您的作业。作业结果会显示在流水线中。
确保您有可用的 runner
在极狐GitLab 中,runner 是运行您的 CI/CD 作业的代理。
如果您使用的是 JihuLab.com,可以跳过此步骤。JihuLab.com 会为您提供实例 runner。
要查看可用的 runner:
- 在顶部栏中,选择搜索或跳转到并找到您的项目。
- 在左侧边栏中,选择设置 > CI/CD。
- 展开 Runners。
只要您至少有一个处于活动状态的 runner,且其旁边有绿色圆圈,您就有可用的 runner 来处理您的作业。
如果您无权访问这些设置,请联系您的极狐GitLab 管理员。
如果您没有 runner
如果您没有 runner:
- 在本地机器上安装极狐GitLab Runner。
- 为您的项目注册该 runner。 选择 shell 执行器。
当您的 CI/CD 作业在后续步骤中运行时,它们会在您的本地机器上运行。
创建 .gitlab-ci.yml 文件
现在创建一个 .gitlab-ci.yml 文件。它是一个 YAML 文件,您可以在其中 为极狐GitLab CI/CD 指定指令。
在该文件中,您定义:
- runner 应执行的作业的结构和顺序。
- runner 在遇到特定条件时应做出的决策。
要在您的项目中创建 .gitlab-ci.yml 文件:
-
在顶部栏中,选择搜索或跳转到并找到您的项目。
-
在左侧边栏中,选择代码 > 代码仓库。
-
在文件列表上方,选择您要提交到的分支。 如果不确定,请保留默认分支。 然后,在右上角,选择加号图标 () 和新建文件:

-
在文件名中,输入 .gitlab-ci.yml,然后在较大的窗口中 粘贴以下示例代码:
yaml1build-job: 2 stage: build 3 script: 4 - echo "Hello, $GITLAB_USER_LOGIN!" 5 6test-job1: 7 stage: test 8 script: 9 - echo "This job tests something" 10 11test-job2: 12 stage: test 13 script: 14 - echo "This job tests something, but takes more time than test-job1." 15 - echo "After the echo commands complete, it runs the sleep command for 20 seconds" 16 - echo "which simulates a test that runs 20 seconds longer than test-job1" 17 - sleep 20 18 19deploy-prod: 20 stage: deploy 21 script: 22 - echo "This job deploys something from the $CI_COMMIT_BRANCH branch." 23 environment: production此示例展示了四个作业:build-job、test-job1、test-job2 和 deploy-prod。 echo 命令中列出的注释会在您查看作业时显示在 UI 中。 预定义变量 $GITLAB_USER_LOGIN 和 $CI_COMMIT_BRANCH的值会在作业运行时填充。
-
选择提交更改。
流水线会启动并运行您在 .gitlab-ci.yml 文件中定义的作业。
查看您的流水线和作业的状态
现在来看看您的流水线及其作业。
-
转到构建 > 流水线。应显示一个包含三个阶段的流水线:

-
通过选择流水线 ID(本示例中为 #2435445330)查看流水线的可视化表示:

-
通过选择作业名称查看作业的详细信息。例如,deploy-prod:

您已成功在极狐GitLab 中创建了您的第一个 CI/CD 流水线。恭喜!
现在您可以开始自定义您的 .gitlab-ci.yml 并定义更高级的作业了。
.gitlab-ci.yml 提示
以下是一些帮助您开始使用 .gitlab-ci.yml 文件的提示。
有关完整的 .gitlab-ci.yml 语法,请参阅完整的 CI/CD YAML 语法参考。
- 使用流水线编辑器来编辑您的 .gitlab-ci.yml 文件。
- 每个作业都包含一个 script 部分,并属于某个阶段:
- stage 描述作业的顺序执行。 如果有可用的 runner,单个阶段中的作业会并行运行。
- 使用 needs 关键字来不按阶段顺序运行作业, 以提高流水线的速度和效率。
- 您可以设置额外的配置来自定义作业和阶段的执行方式:
- 使用 rules 关键字来指定何时运行或跳过作业。 旧版 only 和 except 关键字仍受支持,但不能 与 rules 在同一作业中使用。
- 使用 cache 和 artifacts 在流水线中跨作业和阶段持久保留信息。这些关键字是存储 依赖项和作业输出的方式,即使为每个作业使用临时 runner 也是如此。
- 使用 default 关键字来指定应用于所有作业的 额外配置。该关键字通常用于定义 应在每个作业上运行的 before_script 和 after_script 部分。