.gitlab-ci.yml` 配置中的`stages`字段

284 阅读2分钟

GitLab CI/CD.gitlab-ci.yml 配置中,stages 字段用于定义 CI/CD 流程中的阶段(stages),这些阶段完全是自定义的,可以根据项目的需求来设定。常见的阶段如 buildtestdeploy 是通用的,但你可以定义任何名称的阶段,例如 .prelintreport 等,以满足特定的工作流程需求。

自定义阶段

  • 灵活性:GitLab CI/CD 允许你自定义阶段来匹配你的开发和部署工作流程。这意味着你可以根据项目的具体需求创建任意数量和名称的阶段。

  • 示例:除了标准的 buildtestdeploy 阶段,你可能还需要例如 lint(代码质量检查)、report(生成报告)或 .pre(准备阶段)等特定阶段。

阶段的执行顺序

  • 定义顺序:在 .gitlab-ci.yml 文件中,stages 字段中阶段的列出顺序决定了它们的执行顺序。GitLab 按照这个顺序依次执行各个阶段中的 job。

  • 例子

    stages:
      - .pre
      - lint
      - build
      - test
      - deploy
      - report
    

    在这个例子中,.pre 阶段首先执行,其次是 lint,然后是 build,依此类推,直到 report 阶段。

特殊用途阶段

  • .pre.post:这些是特殊的预定义阶段,它们分别在所有其他阶段之前和之后运行。.pre 可用于设置环境或执行一些预备工作,而 .post 可用于清理工作或收尾操作。

  • lintreport:这些自定义阶段可以用于特定任务,如 lint 通常用于代码风格和质量检查,report 可用于生成测试报告或分析结果。

总结

在 GitLab CI/CD 中,stages 字段提供了高度的自定义能力,允许团队根据具体需求设计 CI/CD 流程。你可以创建任何名称的阶段,并通过定义它们的执行顺序来构建符合你项目需求的工作流程。