GitLab CI - 保持最后的管道状态
GitLab CI - Keep last pipeline status
在 GitLab CI 中,是否可以在推送时没有作业排队时保持最后的管道状态?我的 .gitlab-ci.yml
:
中有这样的 changes
规则设置
changes:
- Assets/*
- Packages/*
- ProjectSettings/*
- .gitlab-ci.yml
适用于管道中的所有作业(这些是 Unity 的构建作业,尽管无关紧要)。注意:如果有任何需要重建的实际文件更改,我只想 运行 构建作业。 README.md
和 CONTRIBUTING.md
的更改 不是 需要重建的更改,所以这就是为什么我有这样的规则。
问题是我需要成功的管道来合并分支,当我尝试合并修改了 README.md
的分支时,显然没有管道。
有没有办法只“重用”先前管道的结果,或者有一个“虚拟”作业在任何推送时立即成功,以便能够合并这个分支而不需要昂贵的重建整个项目?
正如您在上一段中提到的,解决此问题的唯一方法是注入一个始终成功的虚拟作业;脚本中类似于 echo "hello world"
。
但是,根据您的测试 运行 的时间长短,您最好的选择可能是每次都进行测试 运行 而不管更改。使用 changes
关键字的任何类型的部分管道 运行 让您可以合并破坏管道的更改。它本质上将您的管道中的逻辑与代码的组件结构紧密耦合,这并不总是一件好事,因为您的管道的要点之一是捕获这些类型的跨组件破坏。
在 GitLab CI 中,是否可以在推送时没有作业排队时保持最后的管道状态?我的 .gitlab-ci.yml
:
changes
规则设置
changes:
- Assets/*
- Packages/*
- ProjectSettings/*
- .gitlab-ci.yml
适用于管道中的所有作业(这些是 Unity 的构建作业,尽管无关紧要)。注意:如果有任何需要重建的实际文件更改,我只想 运行 构建作业。 README.md
和 CONTRIBUTING.md
的更改 不是 需要重建的更改,所以这就是为什么我有这样的规则。
问题是我需要成功的管道来合并分支,当我尝试合并修改了 README.md
的分支时,显然没有管道。
有没有办法只“重用”先前管道的结果,或者有一个“虚拟”作业在任何推送时立即成功,以便能够合并这个分支而不需要昂贵的重建整个项目?
正如您在上一段中提到的,解决此问题的唯一方法是注入一个始终成功的虚拟作业;脚本中类似于 echo "hello world"
。
但是,根据您的测试 运行 的时间长短,您最好的选择可能是每次都进行测试 运行 而不管更改。使用 changes
关键字的任何类型的部分管道 运行 让您可以合并破坏管道的更改。它本质上将您的管道中的逻辑与代码的组件结构紧密耦合,这并不总是一件好事,因为您的管道的要点之一是捕获这些类型的跨组件破坏。