我正在关注管道资源触发器文档,我构建了如下所示的管道。
15 resources:
16 pipelines:
17 - pipeline: buildPipeline
18 source: template-ci # azure devops pipeline name (defined in ADO UI!)
19 project: $(System.TeamProject) # azure devops project name
20 trigger:
21 branches:
22 include:
23 - main
不幸的是,上面的定义抛出了这个错误
/devops/ct.yml (Line: 17, Col: 17): Pipeline Resource buildPipeline Input Must be Valid.
当我看线
17 - pipeline: buildPipeline
时,它看起来非常好,我做错了什么?
事实证明,错误不是指配置的单行 (
17
),而是指资源定义 (pipeline resource
),在我的例子中,该资源定义是从行 17
到 23
定义的。
我的管道问题在于行号
19
。显然,Azure Pipelines 不喜欢使用运行时表达式 project: $(System.TeamProject)
来定义管道资源。
19
解决了问题。$(System.TeamProject)
替换为 在 azure devops 中指定的项目名称。例如,对于此 url https://dev.azure.com/your-org-name/Your Project Name
,项目名称将为 Your Project Name
。结果是 yaml 配置如下所示。19 project: Your Project Nam
我有相同的错误消息,但就我而言,问题是有两个管道的名称为上面示例中的源参数 (
template_ci
) 指定。当我重命名其中一个时,它起作用了。