管道资源 * 输入必须有效

Luk*_*ski 14 azure-pipelines

我正在关注管道资源触发器文档,并构建了如下所示的管道。

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
Run Code Online (Sandbox Code Playgroud)

不幸的是,上面的定义抛出了这个错误/devops/ct.yml (Line: 17, Col: 17): Pipeline Resource buildPipeline Input Must be Valid.

当我看线时17 - pipeline: buildPipeline,它看起来完全没问题,我做错了什么?

Luk*_*ski 7

语境

事实证明,错误不是指17配置的单行 ( ),而是指资源定义 ( pipeline resource),在我的例子中,该资源定义是从 line17到定义的23

问题

我的管道问题在于行号19。显然,Azure Pipelines 不喜欢project: $(System.TeamProject)管道资源定义的运行时表达式。

解决方案

  1. 删除线路19解决了问题。
  2. 替换$(System.TeamProject)azure devops 中指定的项目名称。例如,对于此 url,https://dev.azure.com/your-org-name/Your Project Name项目名称为Your Project Name。结果是 yaml 配置如下所示。
19       project: Your Project Nam
Run Code Online (Sandbox Code Playgroud)


小智 7

我有相同的错误消息,但就我而言,问题是有两个管道的名称为template_ci上例中的源参数 ( ) 指定。当我重命名其中一个时,它起作用了。