和我之前的许多人一样,我很难在Azure DevOps中配置管道触发器。
背景:
我有一个部署两个的管道。此管道的YAML文件位于基础设施分支中。手动和计划构建的默认分支设置为基础设施。然后我有两个管道,每个管道将一个不同的应用程序部署到App。这些管道的YAML位于应用程序分支中。手动和计划构建的默认分支设置为Application。
仅凭一己之力,这些管道就可以正常工作了。然而,我试图实现的是在achieve管道完成后触发App管道。无论我尝试哪种组合设置,我都无法让它发挥作用。
这是目前YAML的第n版中的样子:
name: 'deploy-webapp-002'
pool:
vmImage: windows-latest
resources:
pipelines:
- pipeline: 'Deploy App Services' # Internal name of the source pipeline, used elsewhere within this YAML
# e.g. to reference published artifacts
source: deploy-appservices # Azure Pipelines name of the source pipeline referenced
project: HomeLab # Required only if the source pipeline is in another project
trigger:
branches:
include:
- Infrastructure
- Application
pr: none
trigger: none有可能做我想做的事吗?如果是,应该在YAML的参考资料/管道部分中指定哪些设置,以及手动和计划构建的默认分支对于每个管道应该是什么样的?
发布于 2022-02-11 03:18:24
当我将YAML文件分别放在两个分支中并设置默认分支时,我可以再现相同的问题。
请参阅以下文档:定义管道资源
定义资源触发器时,如果它的管道资源与当前管道来自同一个存储库(例如self),则触发遵循引发事件的同一分支并提交。但是,如果管道资源来自不同的存储库,则当前管道将在self存储库的默认分支上触发。
在你的例子中,你使用的是同样的回购。因此,触发遵循引发事件的同一分支和提交。
要解决此问题,需要将应用程序分支中的YAML文件复制到基础设施分支。
另一方面,您也可以尝试在UI上手动设置生成完成触发器。
例如:

https://stackoverflow.com/questions/71068167
复制相似问题