Azure DevOps 管道:如何动态匹配变量组下定义的变量

问题描述 投票:0回答:1

我的 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

由于管道每天处理大量不同的文件,我正在尝试找到一种方法,以便不必尽可能地对事物进行硬编码。

这可能吗?

bash azure-devops azure-pipelines cicd azure-pipelines-yaml
1个回答
0
投票

可以使用

test.zip
(宏语法)在管道中访问测试组
$(test.zip)
中的变量。

请注意,变量也可以通过环境变量提供给脚本。名称为大写,

.
替换为
_

例如,管道变量

test.zip
$ENV:TEST_ZIP
(Powershell 脚本)或
$TEST_ZIP
(bash 脚本)。

有关更多详细信息,请参阅通过环境访问变量

© www.soinside.com 2019 - 2024. All rights reserved.