GitLab CI - 保持最后的管道状态

GitLab CI - Keep last pipeline status

在 GitLab CI 中,是否可以在推送时没有作业排队时保持最后的管道状态?我的 .gitlab-ci.yml:

中有这样的 changes 规则设置
changes: 
  - Assets/*
  - Packages/*
  - ProjectSettings/*
  - .gitlab-ci.yml

适用于管道中的所有作业(这些是 Unity 的构建作业,尽管无关紧要)。注意:如果有任何需要重建的实际文件更改,我只想 运行 构建作业。 README.mdCONTRIBUTING.md 的更改 不是 需要重建的更改,所以这就是为什么我有这样的规则。

问题是我需要成功的管道来合并分支,当我尝试合并修改了 README.md 的分支时,显然没有管道。

有没有办法只“重用”先前管道的结果,或者有一个“虚拟”作业在任何推送时立即成功,以便能够合并这个分支而不需要昂贵的重建整个项目?

正如您在上一段中提到的,解决此问题的唯一方法是注入一个始终成功的虚拟作业;脚本中类似于 echo "hello world"

但是,根据您的测试 运行 的时间长短,您最好的选择可能是每次都进行测试 运行 而不管更改。使用 changes 关键字的任何类型的部分管道 运行 让您可以合并破坏管道的更改。它本质上将您的管道中的逻辑与代码的组件结构紧密耦合,这并不总是一件好事,因为您的管道的要点之一是捕获这些类型的跨组件破坏。