创建并运行您的第一个极狐GitLab CI/CD 流水线
此教程向您展示如何在极狐GitLab 中配置和运行您的第一个 CI/CD 流水线。
如果您已经熟悉 基本 CI/CD 概念,您可以学习有关常见关键字的教程。
先决条件
开始之前,您需要确保:
- 您想要使用 CI/CD 的极狐GitLab 项目。
- 项目的所有者或维护者角色。
如果您还没有项目,则您可以创建一个公共项目或使用 SaaS(https://jihulab.com)。
步骤
要创建并运行您的第一个流水线:
-
确保您有可用的 runner来运行您的作业。
如果您使用 JihuLab.com,您可以跳过此步骤。JihuLab.com 为您提供了实例 runner。
-
在仓库的根目录下创建
.gitlab-ci.yml
文件。此稳定会定义 CI/CD 作业。
当您提交文件到您的仓库,runner 就会运行您的作业。作业结果会展示在流水线中。
确保您有可用的 runner
在极狐GitLab 中,runners 是运行 CI/CD 作业的代理。
要查看可用的 runner:
- On the left sidebar, select Search or go to and find your project.
- Select Settings > CI/CD.
- Expand Runners.
- 在左侧边栏中,选择 搜索或前往,然后找到您的项目。
- 选择 设置 > CI/CD。
- 展开 Runners。
只要您看到至少一个 runner,它旁边有一个绿色圆圈,您就有可用的 runner 来处理您的作业。
创建 .gitlab-ci.yml
文件
.gitlab-ci.yml
文件是一个 YAML 文件,您可以在其中配置 GitLab CI/CD 的特定指令。
在此文件中,您定义:
- runner 应执行的作业的结构和顺序。
- runner 在遇到特定条件时应做出的决定。
创建一个 .gitlab-ci.yml
文件:
- 在左侧边栏中,选择 项目信息 > 详细信息。
-
在文件列表上方,选择要提交的分支,点击加号图标,然后选择 新建文件:
-
对于 文件名称,输入
.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-job
、test-job1
、test-job2
和deploy-prod
。当查看作业时,echo
命令中列出的注释会展示在 UI 中。$GITLAB_USER_LOGIN
和$CI_COMMIT_BRANCH
的预定义变量的值会在作业运行时填充。 - 点击 提交变更。
提交后,流水线开始。
查看流水线和作业的状态
现在可以看一下您的流水线和作业了。
您已经成功创建了您的第一个流水线。恭喜您!
现在您可以开始自定义您的 .gitlab-ci.yml
文件,并定义更高级的作业。
.gitlab-ci.yml
tips
下面是一些使用 .gitlab-ci.yml
文件的提示。
对于完整的 .gitlab-ci.yml
语法,请参阅完整的 CI/CD YAML 语法参考。
- 使用流水线编辑器来编辑您的
.gitlab-ci.yml
文件。 - 每个作业都包含一个脚本部分,并属于一个阶段:
- 您可以设置额外的配置来定制您的作业和阶段的执行方式:
- 使用
rules
关键字来指定何时运行或跳过作业。only
和except
旧关键字仍然支持,但不能与rules
在同一个作业中使用。 - 使用
cache
和artifacts
关键字在流水线中存储依赖项和作业输出,即使使用每个作业的临时 runner。 - 使用
default
关键字来指定应用于所有作业的额外配置。此关键字通常用于定义before_script
和after_script
部分,这些部分应该在每个作业上运行。
- 使用
相关主题
从下面的工具中迁移过来: