开始使用极狐GitLab CI/CD

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

CI/CD 是一种持续的软件开发方法,在这种方法中,您会持续构建、测试、部署和监控迭代代码更改。

这种迭代过程有助于减少基于存在缺陷或失败的先前版本开发新代码的可能性。极狐GitLab CI/CD 可以在开发周期的早期捕获错误,并帮助确保部署到生产环境的代码符合您既定的代码标准。

这个过程是更大工作流程的一部分:

A typical software development workflow

步骤 1: 创建一个 .gitlab-ci.yml 文件#

要使用极狐GitLab CI/CD,您需要在项目的根目录下创建一个 .gitlab-ci.yml 文件。该文件指定了您的 CI/CD 流水线中要执行的阶段、作业和脚本。它是一个具有自定义语法的 YAML 文件。

在这个文件中,您可以定义变量、作业之间的依赖关系,并指定每个作业的执行时间和方式。

您可以将此文件命名为任意名称,但 .gitlab-ci.yml 是最常用的名称,产品文档中将其称为 .gitlab-ci.yml 文件或 CI/CD 配置文件。

有关更多信息,请参见:

步骤 2: 查找或创建 runners#

Runners 是运行您作业的代理。这些代理可以在物理机器或虚拟实例上运行。在您的 .gitlab-ci.yml 文件中,您可以指定要在运行作业时使用的容器镜像。runner 加载镜像,克隆您的项目,并在本地或容器中运行作业。

如果您使用 JihuLab.com,Linux、Windows 和 macOS 上的 runners 已经可以使用。如果您愿意,还可以在 JihuLab.com 上注册自己的 runners。

如果您不使用 JihuLab.com,您可以:

  • 注册 runners 或使用已为您的极狐GitLab 私有化部署实例注册的 runners。
  • 在本地机器上创建一个 runner。

有关更多信息,请参见:

步骤 3: 定义您的流水线#

流水线是您在 .gitlab-ci.yml 文件中定义的内容,是在 runner 上运行文件内容时发生的事情。

流水线由作业和阶段组成:

  • 阶段定义执行顺序。典型阶段可能是 buildtestdeploy
  • 作业指定在每个阶段要执行的任务。例如,作业可以编译或测试代码。

流水线可以由各种事件触发,如提交或合并,或按计划触发。在您的流水线中,您可以与各种工具和平台集成。

有关更多信息,请参见:

步骤 4: 在作业中使用 CI/CD 变量#

极狐GitLab CI/CD 变量是键值对,您用于将配置设置和敏感信息(如密码或 API 密钥)传递给流水线中的作业。

使用 CI/CD 变量通过使其他地方定义的值可访问作业来自定义作业。您可以在 .gitlab-ci.yml 文件中硬编码 CI/CD 变量,在项目设置中设置它们,或动态生成它们。您可以为项目、群组或实例定义它们。

有两种类型的变量:自定义变量和预定义变量。

  • 自定义变量是用户定义的。在极狐GitLab UI、API 或配置文件中创建和管理它们。
  • 预定义变量由极狐GitLab 自动设置,并提供有关当前作业、流水线和环境的信息。

变量可以标记为“保护”或“屏蔽”以增加安全性。

  • 保护变量仅对在受保护的分支或标签上运行的作业可用。
  • 屏蔽变量在作业日志中隐藏其值,以防止敏感信息泄露。

有关更多信息,请参见:

步骤 5: 使用 CI/CD 组件#

CI/CD 组件是可重用的流水线配置单元。使用 CI/CD 组件来编写整个流水线配置或更大流水线的一小部分。

您可以通过 include:component 将组件添加到您的流水线配置中。

可重用组件有助于减少重复,提高可维护性,并在项目间推广一致性。创建一个组件项目并将其发布到 CI/CD 目录,以便在多个项目中共享您的组件。

极狐GitLab 还为常见任务和集成提供了 CI/CD 组件模板。

有关更多信息,请参见: