所以,我有以下情况:
- 20个git仓库,每个仓库都有一个微服务
- 一个带有标准构建流程模板的仓库
- 这20个仓库中的每一个都定义了自己的流水线,使用该模板和一些参数
- 对于这20个仓库中的任何一个进行PR构建时,它将作为构建验证运行自己的流水线。
一切都正常工作。
但是现在,我想在这20个仓库中的每一个中添加一个额外的可选检查,该检查将作为PR的一部分运行代码分析工具(例如sonarqube)。
我不想将其添加到主要的流水线中,因为我希望它作为一个单独的可选检查出现在PR中,可以跳过或在可选/必需之间切换。
我唯一找到的实现方法是在这20个仓库中的每一个中添加一个CodeAnalysis.yml,并创建20个相关的流水线,这是我不愿意处理的额外负担。
是否有一种方式可以有一个单一的流水线,在所有这些仓库中作为可选检查引用? 根据文档,应该可以通过类似以下方式动态从正确的仓库获取代码来实现共享流水线:
- checkout: git://ProjectName/$(Build.Repository.Name)@$(Build.SourceBranch)
但是当我尝试这样做时,拉取请求无法排队流水线(不幸的是,它没有给出原因)。
这个问题有解决方案吗?