免费工具

GitLab CI 可视化工具

粘贴 .gitlab-ci.yml,即可得到可编辑的 GitLab CI 流水线图:阶段显示为列,作业位于所属阶段中,还有提前开始的 needs 连线、子流水线和环境。试用无需账号。

示例输出

由 GitLab CI 示例绘制的示例图表
试试示例Monorepo 流水线

使用方法

  1. 粘贴或拖入 .gitlab-ci.yml

    项目根目录下的流水线文件。YAML 锚点、extends 模板和 !reference 标签都没问题,文件开头的 CI/CD 组件 spec 头部会被跳过。

  2. 按列查看流水线

    阶段从左到右变成列,每个作业位于其阶段所在的列中,needs 会连接那些在所属阶段之前就开始的作业。

  3. 在 Archboard 中打开

    保存为新图表后,可以重新排列作业、添加备注、分享链接,或导出为 SVG 和 PNG。注册只需 Google 或 GitHub 账号。

从 .gitlab-ci.yml 中绘制哪些内容

图表依据流水线文件中的以下关键字生成:

  • stagesstage

    阶段按 stages 列表的顺序显示为列;没有列表时为 build、test 和 deploy。没有指定阶段的作业归入 test,没有作业的阶段不会绘制。

  • script

    每个作业在其阶段的列中绘制为一张卡片。以点开头的键是模板:不会作为作业绘制,但仍会影响继承它们的作业。

  • needsneeds: []

    从 needs 中列出的每个作业画一条连线,让在所属阶段之前开始的作业一目了然。needs: [] 表示立即开始的作业。可选的 needs,以及连向带有 rules、only 或 except 的作业的连线,都显示为虚线。

  • extends

    extends 最多解析 11 层模板,并结合 YAML 锚点和合并键,因此继承来的 stage、needs、when、parallel、trigger 和 environment 值都会被绘制。

  • parallelparallel:matrix

    parallel: 3 或 parallel:matrix 会把作业保持为一张卡片,并标出 ×3 或矩阵组合数。

  • trigger

    触发作业会连接到其启动对象的卡片:trigger: include 中指定的子流水线文件,或 trigger: project 中的下游项目。

  • environment

    每个环境(例如 review、staging 或 production)绘制为一张卡片,并从部署到该环境的作业连线过去。

  • when: manual

    手动作业带有 · manual 标记,让流水线中的审批步骤一目了然。

GitLab CI 图表不包含什么

  • 通过 include 引入的配置,无论是本地文件、其他项目、远程 URL、模板还是 CI/CD 组件:都不会获取,继承这些文件中模板的作业会列在警告中。
  • rules、only 或 except 是否会添加或跳过某个作业:它们不会被求值,因此所有作业都会绘制。
  • 变量及其值、脚本、镜像、缓存和制品路径。
  • 流水线的运行情况:作业状态、耗时、日志和制品。图表显示的是配置,而不是某一次具体运行。

GitLab CI 可视化工具常见问题

include 会怎样处理?

被包含的文件不会被获取,因此只绘制你粘贴的文件中写出的作业。如需查看被包含文件中的作业,请单独粘贴该文件,或在粘贴前把多个文件合并为一个。

会解析 extends 和隐藏作业吗?

会。extends 按 GitLab 的方式合并:哈希深度合并,数组直接替换,最多 11 层。名称以点开头的隐藏作业不会绘制,但仍会影响继承它们的作业。带合并键的 YAML 锚点同样可用;!reference 标签不会被解析。

阶段和 needs 如何一起显示?

阶段是列,因此作业所在的列表示它默认何时运行。needs 连线表示一个作业会在它列出的作业完成后立即开始。没有 needs 时作业之间不连线,仅由列来表示顺序。指向其他流水线或项目的 needs 会列在警告中。

子流水线和下游流水线会被绘制吗?

会,以卡片形式绘制。带有 trigger: include 的作业指向子流水线文件,带有 trigger: project 的作业指向下游项目。其中的作业不会展开;粘贴子流水线文件即可绘制。

在 Archboard 中打开图表后会怎样?

本页面上的预览不会被保存。选择“在 Archboard 中打开”后,你看到的图表(阶段、作业和连线)会保存为工作区中的新图表,你可以重新排列、添加注释、分享或导出。它只是一个起点:之后对 .gitlab-ci.yml 的修改不会更新该图表。

GitLab CI 可视化工具免费吗?

免费。粘贴流水线文件和查看图表都无需账号。在 Archboard 中打开需要一个免费账号。

一分钟打开画布

使用 Google 或 GitHub 登录。单席位免费,团队加入后再升级。