我正在跟踪管道资源触发器文档,并构建了如下所示的管道。
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
行时,它看起来很好——我做错了什么?
我收到了相同的错误消息,但在我的情况下,问题是有两个管道的名称与上例中为源参数(template_ci
(指定的名称相同。当我重新命名其中一个时,它起了作用。
上下文
事实证明,错误不是指配置的单行(17
(,而是指资源定义(pipeline resource
(,在我的情况下,它是从第17
行到第23
行定义的。
问题
我的管道问题出在线路号19
上。显然,Azure Pipelines不喜欢管道资源定义的运行时表达式project: $(System.TeamProject)
。
解决方案
- 删除线路
19
解决了问题 - 将
$(System.TeamProject)
替换为azure devops中指定的项目名称。例如,对于这个urlhttps://dev.azure.com/your-org-name/Your Project Name
,项目名称将是Your Project Name
。结果是yaml配置,如下所示
19 project: Your Project Nam