Как вставить пароль Azure Key Vault в скрипт mysql во время выполнения конвейера - PullRequest
0 голосов
/ 21 февраля 2020

Здравствуйте. Я пытаюсь ввести пароль из keyvault, используя sed в Azure DevOps конвейере.

Я успешно внедряю переменные конвейера, но когда мне нравится глобальная переменная, содержащая ключ из keyvault, мой пароль выиграл не меняются.

Каков наилучший способ изменить / добавить пароль в существующий файл сценария? Инструкция, которую я использовал, была

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

##secret## - это значение заполнителя в скрипте mysql. Я пробовал выше с локальной переменной, и она работает

1 Ответ

1 голос
/ 24 февраля 2020

Проблема, с которой вы столкнулись, должна быть вызвана специальным использованием секретной переменной хранилища ключей:

Однако секретные переменные (зашифрованные переменные и переменные хранилища ключей) недоступны непосредственно в сценариях - вместо этого они должны быть переданы в качестве аргументов для задачи.

Как сказано в комментарии 4c74356b41, основываясь на упомянутом do c, как насчет использования переменной окружения в вашем скрипте?

1) Во-первых, убедитесь, что конфигурация хранилища ключей Azure, подключенного к конвейеру azure devops, правильная. Здесь вы можете обратиться к этому блогу .

2) Если все вышеперечисленное доступно, то go Переменные среды и настройте переменную среды:

enter image description here

3) Теперь попробуйте вызвать вашу переменную с $env:PASSWORD в вашем скрипте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...