【发布时间】:2020-02-07 19:39:57
【问题描述】:
我正在尝试在构建管道完成后触发部署管道,以便我可以让管道的状态保持独立(当所有内容分阶段位于同一管道中时,当前 UI 会呈现令人困惑的状态值)。部署管道具有documentation 中概述的资源定义,它指的是构建管道。构建管道名为“BuildTheApp”,位于管道根文件夹中。
构建管道的资源依赖在部署管道中定义如下,没有定义其他触发器,管道定义中也没有对yaml触发器的覆盖:
resources:
pipelines:
- pipeline: BuildPipeline
source: BuildTheApp
trigger: true
pipeline: BuildPipeline 只是在部署管道中使用的名称。source: BuildTheApp 指的是构建管道的名称。
我知道它正确地选择了构建管道的名称,因为当我在另一个文件夹中创建另一个名为 BuildTheApp 的管道时,部署管道给出了一个关于匹配多个潜在定义的错误。
在构建管道运行后,部署管道永远不会执行。构建管道是由于其分支更改触发器而执行还是手动执行都没有关系。
部署管道始终在分支更改时执行,与构建管道同时执行。
在部署管道中,echo 'Build reason $(Build.Reason)' 结果为Build reason IndividualCI,证明管道是通过 CI 触发器执行的。
我不知道为什么部署管道在没有任何触发器的情况下执行代码更改。默认行为应该是不执行。当然,它也不会在构建管道完成时执行。
在构建和部署管道中都使用模板文件来减少冗余代码。
【问题讨论】:
标签: azure-pipelines