![](/img/trans.png)
[英]Azure DevOps: find out which pipelines are using specific yaml template
[英]Azure YAML Pipelines: Is it possible to find out which pipeline triggered a build?
我的 Azure DevOps 项目有两个存储库。 一个用于云基础设施部署,另一个包含我的应用程序代码。
我有一个 YAML 管道,在任何这些 repos 构建管道完成后触发。 管道看起来有点像这样:
resources:
pipelines:
- pipeline: MyProject-Code
- pipeline: MyProject-Infrastructure
jobs:
- job: DeployInfrastructure
steps:
# Here are the tasks the deploy the project infrastructure
- job: DeployCode
steps:
# Here are the tasks that deploy the code
我想在 DeployInfrastructure 作业上设置一个条件,因此它仅在触发管道是基础架构时才执行,因为如果更改仅影响应用程序代码,我不需要重新部署它。
但是,在阅读Microsoft 的文档时,似乎没有一种非常直接的方法可以做到这一点。
查看管道资源变量
在每次运行中,管道资源的元数据以预定义变量的形式可供所有作业使用。 这是您为管道资源提供的标识符。 管道资源变量仅在运行时可用。
还有许多名为Build.TriggeredBy.*
的预定义变量,其中Build.TriggeredBy.DefinitionName
,但是文档建议对于带有管道触发器的 yaml 管道,应使用资源变量
如果构建由另一个构建触发,则此变量设置为触发构建管道的名称。 在经典管道中,此变量由构建完成触发器触发。
此变量是代理范围的,可以用作脚本中的环境变量和构建任务中的参数,但不能用作构建号的一部分或版本控制标记。
如果您使用资源触发 YAML 管道,则应改用资源变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.