教程:创建并运行你的第一个极狐GitLab CI/CD 流水线

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: JihuLab.com, 私有化部署

本教程将指导您如何在极狐GitLab 中配置和运行您的第一个 CI/CD 流水线。

如果您已经熟悉基本的 CI/CD 概念,可以学习教程:创建复杂流水线中的常用关键字。

先决条件#

在开始之前,请确保您拥有:

  • 一个极狐GitLab 中的项目,您希望为其使用 CI/CD。
  • 项目的维护者或所有者角色。

如果您没有项目,可以在 https://jihulab.com 上免费创建一个公共项目。

步骤#

要创建和运行您的第一个流水线:

  1. 确保您有可用的 runners 来运行您的作业。

    如果您正在使用 JihuLab.com,您可以跳过此步骤。JihuLab.com 为您提供实例 runners。

  2. 在您的存储库的根目录创建 .gitlab-ci.yml 文件。这个文件是您定义 CI/CD 作业的地方。

当您将文件提交到存储库时,runner 会运行您的作业。作业结果在流水线中显示

确保您有可用的 runners#

在极狐GitLab 中,runners 是运行您 CI/CD 作业的代理。

如果您正在使用 JihuLab.com,您可以跳过此步骤。JihuLab.com 为您提供实例 runners。

查看可用的 runners:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的项目。
  2. 选择 设置 > CI/CD
  3. 展开 Runners

只要您至少有一个 runner 处于活动状态,旁边有一个绿色圆圈,就有一个 runner 可用来处理您的作业。

如果您无法访问这些设置,请联系您的极狐GitLab 管理员。

如果您没有 runner#

如果您没有 runner:

  1. 在您的本地机器上安装极狐GitLab Runner
  2. 为您的项目注册 runner。选择 shell 执行器。

当您的 CI/CD 作业运行时,在稍后的步骤中,它们将在您的本地机器上运行。

创建 .gitlab-ci.yml 文件#

现在创建一个 .gitlab-ci.yml 文件。这是一个 YAML 文件,您在其中为极狐GitLab CI/CD 指定指令。

在这个文件中,您定义:

  • runner 应该执行的作业的结构和顺序。
  • runner 在遇到特定条件时应做出的决策。

要在您的项目中创建 .gitlab-ci.yml 文件:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的项目。

  2. 选择 代码 > 存储库

  3. 在文件列表上方,选择您要提交的分支。如果不确定,请保留 mastermain。然后选择加号图标 (

    ) 和 新文件

    在当前文件夹中创建文件的新文件按钮。

  4. 对于 文件名,输入 .gitlab-ci.yml 并在较大的窗口中粘贴以下示例代码:

    yaml
    1build-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-jobtest-job1test-job2deploy-prod。当您查看作业时,echo 命令列出的评论会在 UI 中显示。预定义变量 $GITLAB_USER_LOGIN$CI_COMMIT_BRANCH 的值在作业运行时被填充。

  5. 选择 提交更改

流水线启动并运行您在 .gitlab-ci.yml 文件中定义的作业。

查看您的流水线和作业的状态#

现在查看您的流水线及其中的作业。

  1. 转到 构建 > 流水线。应该显示一个包含三个阶段的流水线:

    流水线列表显示一个包含 3 个阶段的运行中流水线

  2. 通过选择流水线 ID 查看流水线的视觉表示:

    流水线图显示每个作业、其状态及其在所有阶段中的依赖关系。

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

    作业详情页面显示当前状态、时间信息和日志输出。

您已成功在极狐GitLab 中创建了第一个 CI/CD 流水线。恭喜!

现在您可以开始自定义您的 .gitlab-ci.yml 并定义更高级的作业。

.gitlab-ci.yml 提示#

以下是一些开始使用 .gitlab-ci.yml 文件的提示。

有关完整的 .gitlab-ci.yml 语法,请参阅完整的 CI/CD YAML 语法参考

  1. 使用 流水线编辑器 来编辑您的 .gitlab-ci.yml 文件。
  2. 每个作业都包含一个脚本部分,并属于一个阶段:
  3. 您可以设置其他配置以自定义作业和阶段的执行方式:
    • 使用 rules 关键字指定何时运行或跳过作业。onlyexcept 旧关键字仍然支持,但不能在同一作业中与 rules 一起使用。
    • 使用 cacheartifacts 在流水线中保持跨作业和阶段的信息持久性。这些关键字是存储依赖项和作业输出的方法,即使使用每个作业的临时 runners。
    • 使用 default 关键字指定应用于所有作业的其他配置。此关键字通常用于定义 before_scriptafter_script 应在每个作业中运行的部分。

从以下迁移:

  1. Bamboo
  2. CircleCI
  3. GitHub Actions
  4. Jenkins
  5. TeamCity