在VSTS上的bash脚本中使用变量组中的变量

时间:2018-08-24 05:18:00

标签: bash azure azure-devops

我已经将变量组链接到我的构建管道。变量组中有一个变量。我正在尝试在管道的bash脚本中使用该变量。

此文档介绍了如何从我的变量组中引用我的变量:

[https://docs.microsoft.com/en-us/vsts/pipelines/process/variables?view=vsts&tabs=yaml%2Cbatch][2]

但是,$TESTING_YOLO不起作用。

我花了2个小时试图从bash脚本中引用此变量。完全不知道该怎么做。

2 个答案:

答案 0 :(得分:3)

我发现运行bash脚本时,变量组中来自键库的变量在我的env变量中不可见。

此外,如果我创建了一个未链接到关键文件库的变量组,即带有key: value, yolo1: yolo1的变量组,则在运行bash脚本时,这些变量在我的env变量中可见。

总结一下此更新,来自密钥库的变量组中的变量无法按预期工作。

“但是,秘密变量(加密变量和密钥库变量)不能直接在脚本中访问-而是必须将它们作为参数传递给任务”。从这里引用:https://docs.microsoft.com/en-us/vsts/pipelines/library/variable-groups?view=vsts

所以我们必须弄清楚如何将参数传递给我们的任务。在这里,我将我的秘密yolo3作为参数传递给我的bash脚本任务

Pass yolo3 argument to our tasks

然后我可以在我的bash脚本中将秘密yolo3作为参数引用,即$ 1。

希望这会对其他人有所帮助:)。

答案 1 :(得分:2)

使用如下链接Azure键值的变量组中的变量的格式:

$(VariableName)

例如可以使用格式$(yolo)。但是由于变量yolo是秘密的,因此在构建日志中该值将标记为***