爱意满满的作品展示区。
wddwycc

做了个 Mac 小工具,合 MR 之前就能看出 GitLab pipeline 会不会出问题

  •  
  •   wddwycc ·
    wddwycc · 3h 12m ago · 151 views

    做了个 Mac 小工具 Pipeline Lens ,在本地模拟 GitLab CI pipeline 。

    项目稍微大一点,.gitlab-ci.yml 就会拆成一堆 include ,再加上 rules 、needs 、extends 、!reference ,改 CI 配置的时候心里很没底。MR 自己的 pipeline 推上去跑一遍就知道了,问题是它只验证 MR 自己:合进去之后 main 、release 分支、tag 上的 pipeline 会变成什么样,合之前谁也不知道。

    比如给 build-api 加了个 changes: [api/**/*],想省点 CI 时间。MR 全绿,合进去之后 release 分支上 deploy-production 还 needs 它,GitLab 直接不给建 pipeline ,发版那天才发现。

    Pipeline Lens 会把 include (本地、跨项目、通配符)都拉下来合并,然后模拟任意分支、tag 或 MR 的 pipeline:会跑哪些 job 、每个 job 是哪条 rule 决定的、没跑的为啥没跑(连用到的变量值都列出来),以及 GitLab 会因为什么报错拒绝建这条 pipeline 。上面那种情况,用 Config from 拿 MR 分支的配置去模拟 release 分支,合之前就能看出来。gitlab-org/gitlab 这种大规模的项目也能模拟。

    免费,macOS 14+ 就能装:

    有配置模拟出来跟 GitLab 实际不一样的,欢迎扔过来,我修。

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2250 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 89ms · UTC 14:07 · PVG 22:07 · LAX 06:07 · JFK 09:07
    ♥ Do have faith in what you're doing.