创建并运行您的第一个极狐GitLab CI/CD 流水线

此教程向您展示如何在极狐GitLab 中配置和运行您的第一个 CI/CD 流水线。

如果您已经熟悉 基本 CI/CD 概念,您可以学习有关常见关键字的教程。

先决条件

开始之前,您需要确保:

  • 您想要使用 CI/CD 的极狐GitLab 项目。
  • 项目的所有者或维护者角色。

如果您还没有项目,则您可以创建一个公共项目或使用 SaaS(https://jihulab.com)。

步骤

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

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

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

  2. 在仓库的根目录下创建 .gitlab-ci.yml 文件。此稳定会定义 CI/CD 作业。

当您提交文件到您的仓库,runner 就会运行您的作业。作业结果会展示在流水线中

确保您有可用的 runner

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

要查看可用的 runner:

  1. On the left sidebar, select Search or go to and find your project.
  2. Select Settings > CI/CD.
  3. Expand Runners.
  4. 在左侧边栏中,选择 搜索或前往,然后找到您的项目。
  5. 选择 设置 > CI/CD
  6. 展开 Runners

只要您看到至少一个 runner,它旁边有一个绿色圆圈,您就有可用的 runner 来处理您的作业。

创建 .gitlab-ci.yml 文件

.gitlab-ci.yml 文件是一个 YAML 文件,您可以在其中配置 GitLab CI/CD 的特定指令。

在此文件中,您定义:

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

创建一个 .gitlab-ci.yml 文件:

  1. 在左侧边栏中,选择 项目信息 > 详细信息
  2. 在文件列表上方,选择要提交的分支,点击加号图标,然后选择 新建文件

    New file

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

    build-job:
      stage: build
      script:
        - echo "Hello, $GITLAB_USER_LOGIN!"
    
    test-job1:
      stage: test
      script:
        - echo "This job tests something"
    
    test-job2:
      stage: test
      script:
        - echo "This job tests something, but takes more time than test-job1."
        - echo "After the echo commands complete, it runs the sleep command for 20 seconds"
        - echo "which simulates a test that runs 20 seconds longer than test-job1"
        - sleep 20
    
    deploy-prod:
      stage: deploy
      script:
        - echo "This job deploys something from the $CI_COMMIT_BRANCH branch."
      environment: production
    

    此示例展示了四个作业:build-jobtest-job1test-job2deploy-prod。当查看作业时,echo 命令中列出的注释会展示在 UI 中。$GITLAB_USER_LOGIN$CI_COMMIT_BRANCH预定义变量的值会在作业运行时填充。

  4. 点击 提交变更

提交后,流水线开始。

查看流水线和作业的状态

现在可以看一下您的流水线和作业了。

  1. 前往 构建 > 流水线。就会展现一个具有三个 stage 的流水线:

    The pipeline list shows a running pipeline with 3 stages

  2. 通过选择流水线 ID 来可视化查看您的流水线:

    The pipeline graph shows each job, its status, and its dependencies across all stages.

  3. 通过选择作业名称来查看作业详情。比如,deploy-prod

    The job details page shows the current status, timing information, and the output of logs.

您已经成功创建了您的第一个流水线。恭喜您!

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

.gitlab-ci.yml tips

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

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

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

相关主题

从下面的工具中迁移过来: