繁体   English   中英

Azure YAML 管道:是否可以找出哪个管道触发了构建?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM