我有一个YAML文件,它形成了Azure DevOps管道。管道本身定义了YAML的variables
部分所需的四个变量。。。
variables:
environmentIdentifier: "$(environmentIdentifier)"
keyVaultSourceName: "$(keyVaultSourceName)"
location: "$(location)"
locationIdentifier: "$(locationIdentifier)"
变量肯定是为管道的每次运行设置的,但当它运行时,我在脚本中遇到错误,表明这些变量没有正确填充。。。
错误:(InvalidResourceGroup(提供的资源组名称"rg main-$(locationIdentifier("包含以下无效字符:"$:"。名称只能是字母、数字、'-'、'.'、'(','('或'_'。
我也试过。。。
$env:location
${{variables['location']}}
。。。但是产生了相同的错误。
我应该如何在管道定义的variables
部分中正确地声明变量,因为它们的值是从管道的变量中检索的?
您需要定义为:
variables:
- name: location
value: 'Australia Southeast'
如果你想在后期将它们作为模板表达式,请使用:
${{ variables.location }}
如果你想在脚本中使用它们:
steps:
- bash: echo $(location)
- powershell: echo $(location)
- script: echo $(location)
有关详细信息,请查看此链接和下面提取的示例。
variables:
- name: one
value: initialValue
steps:
- script: |
echo ${{ variables.one }} # outputs initialValue
echo $(one)
displayName: First variable pass
- bash: echo '##vso[task.setvariable variable=one]secondValue'
displayName: Set new variable value
- script: |
echo ${{ variables.one }} # outputs initialValue
echo $(one) # outputs secondValue
displayName: Second variable pass