Azure Pipelines YAML:意外值“变量”

时间:2020-03-29 10:13:16

标签: azure azure-devops azure-pipelines azure-pipelines-yaml

我将Azure Pipelines用作Azure DevOps的一部分。 我正在尝试在模板文件中定义变量,因为我需要多次使用相同的值。

这是我的stage-template.yml

parameters:
 - name: param1
   type: string
 - name: param2
   type: string

variables:
  var1: path/${{ parameters.param2 }}/to-my-file.yml

stages:
 - stage: Deploy${{ parameters.param2 }}
   displayName: Deploy ${{ parameters.param1 }}
   jobs:  
    ...

尝试使用此管道时,出现错误消息:

/stage-template.yml(第7行,第1行):意外值“变量”

为什么这不起作用?我做错了什么?

1 个答案:

答案 0 :(得分:1)

仅在templateReferences中,您不能在管道中具有参数:

name: string  # build numbering format
resources:
  pipelines: [ pipelineResource ]
  containers: [ containerResource ]
  repositories: [ repositoryResource ]
variables: # several syntaxes, see specific section
trigger: trigger
pr: pr
stages: [ stage | templateReference ]

如果要在模板中使用变量,则必须使用正确的语法:

parameters:
 - name: param1
   type: string
 - name: param2
   type: string

stages:
- stage: Deploy${{ parameters.param2 }}
  displayName: Deploy ${{ parameters.param1 }}
  variables:
    var1: path/${{ parameters.param2 }}/to-my-file.yml
  jobs:  
  ...