上下文:具有多个应用程序的单一存储库(Nx)
在 Azure DevOps 中,我尝试检索应用程序的部署令牌。由于将令牌存储在存储库上的 JSON 中并不安全,因此我想将 secretName
中的
秘密名称保存在配置文件中(位于某处),然后使用简单的脚本检索它:
for app in $apps; do
# Check if the deployment-config.json exists for the app
configPath="apps/$app/deployment-configs/deployment-config.${{ parameters.target_environment }}.json"
if [ -f "$configPath" ]; then
secretName=$(jq -r '.secretName' "$configPath") # Retrieve secret name from config file
# TODO: RETRIEVE SECRET!
fi
done
现在我已经有了包含我的脚本的变量的名称。
设置管道秘密不起作用,因为我需要显式地将所有秘密作为
env
参数传递(当您在 3 个不同环境中拥有多个应用程序时,这并不理想)。
所以像 secretValue=${!secretName}
这样的东西是行不通的。
有没有办法在不显式将秘密设置为 env 的情况下实现此目的?使用 Azure KeyVault 可能是一种有效的实施方法