开始使用极狐GitLab CI/CD (BAISC ALL)

CI/CD 是软件研发的一种持续方法,您可以持续构建、测试、部署以及监控迭代的代码变更。

此迭代流程有助于降低您基于存在错误或失败的先前版本开发新代码的风险。极狐GitLab CI/CD 能够在研发周期早期发现缺陷,并确保部署到生产环境的代码符合您建立的代码标准。

此流程是大型工作流的一部分:

A typical software development workflow

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

要使用极狐GitLab CI/CD,您从项目的根目录开始,创建一个 .gitlab-ci.yml 文件。此文件指定了阶段(stage)、作业(job)和脚本(script),这些将在您的 CI/CD 流水线中执行。它是一个具有自己自定义语法的 YAML 文件。

在此文件中,您可以定义变量、作业之间的依赖以及指定每个作业何时以及如何执行。

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

更多详情,可以查看

第 2 步:查找或创建 runner

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

如果您使用 JihuLab.com,基于 Linux、Windows 以及 macOS 的 Runner 都已经可用。如果您想要的话,您可以在 SaaS(JihuLab.com)上注册您的 Runner。

如果您使用的是私有化部署版本,那么您可以:

  • 在私有化部署实例上注册 runner 或者使用已经注册好的 runner。
  • 在您的本地机器上创建 runner。

更多详情,请查阅:

第 3 步:定义您的流水线

流水线就是您在 .gitlab-ci.yml 文件中定义的流程、以及它在 runner 上运行时候的执行内容。

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

  • 阶段(Stage)定义了执行的顺序。典型的阶段可能是 buildtest 以及 deploy
  • 作业指定了每个阶段中被执行的任务。比如,一个可以编译或测试代码的作业。

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

更多详情,可查阅:

第 4 步:使用 CI/CD 变量作为作业的一部分

极狐GitLab CI/CD 变量是您用来在流水线作业中存储和传递配置设置和敏感信息(诸如密码或 API key)的键值对。

使用 CI/CD 变量来定制作业,使定义的值在作业中可用。您可以将它们硬编码到 .gitlab-ci.yml 文件中,通过 UI、API 或配置文件设置它们,或者动态生成它们。您可以为项目、组或实例定义它们。

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

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

变量可以标记为“受保护”或“隐藏”,以增加安全性。

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

更多详情,可查阅:

第 5 步:使用 CI/CD 组件

CI/CD 组件是可复用的流水线配置单元。使用 CI/CD 组件来构建完整的流水线配置或大型流水线的一部分。

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

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

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

更多详情,可查阅: