azure devops yaml 管道中无法识别来自变量组的变量

Variables from variable group are not recognized in azure devops yaml pipeline

我有一个变量组,例如'vargroup' 在 azure devops 中有 3 个变量(env、envid、envpwd)。我也在我的 yaml 定义中声明了变量组。如果我使用内联 bash 脚本,这些变量将被识别并且工作正常。 但是,当我使用相同的脚本但位于存储库中时,该脚本无法识别变量组中的变量。

variables:
- group: vargroup

- task: Bash@3
  inputs:
    filePath: 'script.sh'

我的脚本将这些变量称为 $(env) 、 $(envid) 、 $(envpwd) 。

在脚本路径方法中使用变量组中的变量的正确方法是什么?

也许您可以更改脚本以接受参数,然后将变量传递到脚本中。 例如

script.sh $(env) $(envid) $(envpwd)

经过多次尝试,终于找到了解决办法。

技巧:使用大写字母传递脚本中的变量。

我的变量组变量是 env 、 envid 和 envpwd 。 我在我的 shell 脚本中将它们作为 $ENV 、 $ENVID 、 $ENVPWD 传递并且它起作用了。

注意:要进一步使 $ENVPWD 这样的秘密变量在 azure yaml 管道中工作,您需要将其作为环境变量传递