【发布时间】:2021-10-07 23:08:54
【问题描述】:
尝试在 yaml 文件中使用以下语法分配变量时遇到问题。以下代码取自 Microsoft Doc on Define variables 的 Understand variable syntax 部分:
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
具体来说,我发现问题出在语法 '##vso[task.setvariable variable=one]secondValue' 的区域中
注意:我没有使用直接写入上述行的字符串,而是使用语法为 $variableName 的 bash 变量代替 secondValue
问题是:
variables:
- name: one
value: "initialValue"
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: |
valueTwo="New Value"
echo '##vso[task.setvariable variable=one]$valueTwo'
displayName: "Change Variable"
- task: Bash@3
inputs:
targetType: 'inline'
script: |
echo $(one)
displayName: "Check Variable Has Changed"
预期输出:New Value
实际输出:$valueTwo
【问题讨论】:
-
您在谈论问题和问题,而没有说明您有什么问题。
-
我已经更新了我的问题以包括手头问题的示例。感谢您指出这一点。
标签: bash azure-devops yaml azure-pipelines azure-pipelines-yaml