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 管道中工作,您需要将其作为环境变量传递
我有一个变量组,例如'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 管道中工作,您需要将其作为环境变量传递