MrP*_*eak 8 azure-devops azure-pipelines
我正在尝试找到一种方法来列出 Azure Devops 管道中定义的所有变量。我找到了env在脚本中使用的示例,但它获取了所有环境变量,并且我的 yaml 中定义的任何变量的名称都已更改(更改为大写和 _ 而不是。)
我想要的只是变量字典输出。我试过了
- ${{ each value in variables }}:
- script: echo ${{ value.key }} ${{value.value}}
Run Code Online (Sandbox Code Playgroud)
但这使得每个变量都有一个 CmdLine 任务,而不是仅仅在一个任务中回显所有变量以使其易于阅读
对一个非常相似的问题的回答可能对您有用:/sf/answers/4886364171/
根据YK1(答案作者)的说法,你可以尝试
- script: |
for var in $(compgen -e); do
echo $var ${!var};
done
Run Code Online (Sandbox Code Playgroud)
该脚本将列出所有变量。
例如,如果您使用以下代码(设置管道的输出变量):
- script: |
echo "Checking if terraform plan has changes..."
if [ -f tfplan ]; then export tfplan_exists=true; else export tfplan_exists=false; fi
echo "##vso[task.setvariable variable=do_terraform_apply;isOutput=true]$tfplan_exists"
name: validation_variable
Run Code Online (Sandbox Code Playgroud)
第一个脚本最终将打印所有环境变量,包括VALIDATION_VARIABLE_DO_TERRAFORM_APPLY
| 归档时间: |
|
| 查看次数: |
5720 次 |
| 最近记录: |