我的 ADO yaml 管道中有一个 bash 脚本,用于解压一组给定的文件,其中一些文件受密码保护。我创建了一个变量组并在管道中引用它,并将每个受密码保护的文件的名称定义为密钥,将其密码定义为秘密值。我想循环遍历目标文件,并且对于每个文件,如果有匹配的密钥或者其值不为空,则获取变量组下定义的密码。我已经尝试了一些方法,但不幸的是还没有运气。
variable group:
test.zip testValue
script:
file="test.zip"
build_var="$""("$file")"
echo $build_var -> # prints $(test.zip) instead of the value
echo $(test.zip) -> # prints testValue correctly
由于管道每天处理大量不同的文件,我正在尝试找到一种方法,以便不必尽可能地对事物进行硬编码。
这可能吗?
可以使用
test.zip
(宏语法)在管道中访问测试组 $(test.zip)
中的变量。
请注意,变量也可以通过环境变量提供给脚本。名称为大写,
.
替换为 _
。
例如,管道变量
test.zip
为 $ENV:TEST_ZIP
(Powershell 脚本)或 $TEST_ZIP
(bash 脚本)。
有关更多详细信息,请参阅通过环境访问变量。