因此,我遇到了一个奇怪的事件,该事件在应触发的时间不触发。我有一个主分支和一个Azure DevOps构建管道。分支过滤器全部设置为*
。它建立。我使用“ / src / SomeFolder1”添加了路径过滤器,并且仅使用已签入该文件夹的代码进行构建。完美。
现在,我添加了另一个带有“ refs / tags / v *”的分支过滤器,就像我一直做的那样,其他在没有路径过滤器的其他项目上构建定义,并且一直都能正常工作。
在与构建管道关联的git repo中,我创建了一个git标记为“ v1.0.0”,但没有任何反应。没有自动构建被触发。我查看了Microsoft文档(https://docs.microsoft.com/en-us/azure/devops/pipelines/build/triggers?view=azure-devops&tabs=yaml#tags),并认为我满足要求。我想念什么吗?
我最后的CI触发条件是:
Branch filter:
1) '*'
2) 'refs/tags/v*'
Path filter:
1) '/src/SomeFolder1'
当我删除路径过滤器时,触发器可以完美地工作。它要么起作用,要么不起作用。
答案 0 :(得分:0)
根据我们在评论中的讨论和我的测试,问题是路径过滤器。应用规则时,路径过滤器似乎具有优先权。如果不更改实际内容,则永远不会评估分支或标签过滤器。使用标签时,实际内容不会更改,这说明了为什么不触发构建。我通过将路径过滤器从包含翻转为排除来验证了这一点。只要设置了路径过滤器,它就会查找内容更改。
我的建议是针对您所描述的场景创建功能请求,或者设置一个单独的版本(我知道,不理想)。
答案 1 :(得分:0)
Azure DevOps构建管道无法使用标记和路径过滤器构建
很抱歉给您带来不便。
我可以在自己的身边重现此问题。此问题已确认为问题,并将移至产品团队:
Build triggers from Git Tag are no longer working.
很遗憾,当前没有解决此问题的方法。已将此问题报告给产品组以进行进一步调查。产品组修复它后,它将恢复正常。这可能需要一些时间,请耐心等待稍后获得他们的反馈。
您可以对此反馈进行投票并添加评论。当有足够的社区投票并添加反馈意见时,产品团队成员将认真对待此反馈意见。
希望这会有所帮助。