首页 > 解决方案 > 如何在管道运行时将 Azure Key Vault 密码注入 mysql 脚本

问题描述

您好,我正在尝试在 Azure DevOps 管道中使用 sed 从 keyvault 注入密码

我成功地注入了管道变量,但是当我喜欢包含来自 keyvault 的密钥的全局变量时,我的密码不会被更改。

在现有脚本文件中更改/添加密码的最佳方法是什么?我使用的指令是

sed -i 's|##secret##|$(mysqladmin-password)|g'   $(System.DefaultWorkingDirectory)/_integrationDB/integrationDB/DDL_scripts/IntegDB_DDL.sql

##secret##是mysql脚本中的占位符值我在上面尝试了一个局部变量,它可以工作

标签: mysqlbashsedazure-devops

解决方案


您面临的问题应该是由密钥库秘密变量的特殊用法引起的:

但是,不能在脚本中直接访问秘密变量(加密变量和密钥库变量)——相反,它们必须作为参数传递给任务。

正如 4c74356b41 在评论中所说,根据提到的这个文档,在你的脚本中使用环境变量怎么样?

1) 首先,确保连接到 azure devops 管道的 Azure key vault 配置正确。在这里你可以参考这个博客

2)如果以上都可用,则进入环境变量并配置环境变量:

在此处输入图像描述

3)现在,尝试$env:PASSWORD在你的脚本中调用你的变量。


推荐阅读