在 Azure devops 管道中设置变量后无法立即打印变量
Unable to print the variable right after set it in Azure devops pipeline
请看下面的代码。无法在 set.variable 任务后立即打印变量!我有感觉并尝试过 set.variable 任务下面的任何内容都不会执行。这太烦人了,我该如何解决?
- bash: |
echo "##vso[task.setvariable variable=BUILD_NUMBER]$(Build.BuildId)"
echo $(BUILD_NUMBER) // BUILD_NUMBER: command not found
displayName: Set
- bash: |
echo "you shall saw build id below"
echo $(BUILD_NUMBER) // Same line and this is OK!
displayName: Print
老实说,这对我来说很有意义。您 运行 ##vso[task.setvariable]
命令,一旦当前任务完成 运行ning,该变量就可用于后续任务 。它不会改变 current 任务的环境。由于您显然已经拥有当前任务中可用的数据,所以应该无关紧要。
您甚至不需要做您正在做的事情:您可以通过用下划线替换句点来引用变量作为环境变量。 IE。 $BUILD_BUILDID
。参考文档。
请看下面的代码。无法在 set.variable 任务后立即打印变量!我有感觉并尝试过 set.variable 任务下面的任何内容都不会执行。这太烦人了,我该如何解决?
- bash: |
echo "##vso[task.setvariable variable=BUILD_NUMBER]$(Build.BuildId)"
echo $(BUILD_NUMBER) // BUILD_NUMBER: command not found
displayName: Set
- bash: |
echo "you shall saw build id below"
echo $(BUILD_NUMBER) // Same line and this is OK!
displayName: Print
老实说,这对我来说很有意义。您 运行 ##vso[task.setvariable]
命令,一旦当前任务完成 运行ning,该变量就可用于后续任务 。它不会改变 current 任务的环境。由于您显然已经拥有当前任务中可用的数据,所以应该无关紧要。
您甚至不需要做您正在做的事情:您可以通过用下划线替换句点来引用变量作为环境变量。 IE。 $BUILD_BUILDID
。参考文档。