【问题标题】:Use Variable from Variable Group in bash script on VSTS在 VSTS 上的 bash 脚本中使用变量组中的变量
【发布时间】:2018-08-24 05:18:00
【问题描述】:

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

本文档描述了如何从我的变量组中引用我的变量:

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

但是,$TESTING_YOLO 不起作用。

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

【问题讨论】:

    标签: bash azure azure-devops azure-pipelines


    【解决方案1】:

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

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

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

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

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

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

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

    【讨论】:

      【解决方案2】:

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

      $(VariableName)
      

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

      【讨论】:

      • 你是对的,我在文档中读过类似的内容。但是,对我来说,这个解释并没有帮助我解决我的问题。我觉得有点模糊。
      • 感谢您的意见。我更新了问题。让我知道你的想法。
      • @jcgh582 根据您问题中的最后一次更新,您似乎已经解决了问题。如果是这样,您可以将其添加到答案中并稍后标记您的答案。
      猜你喜欢
      • 2021-11-04
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-24
      • 2014-08-21
      • 1970-01-01
      • 2017-02-03
      相关资源
      最近更新 更多