В нашем конвейере выпуска есть задача Azure Key Vault, которая загружает некоторые секреты для использования на этапе.
В скрипте Inline Azure PowerShell вы можете просто использовать следующее для получения секретного значения:
$secretValue = $(nameOfTheSecretInKeyVault)
Это прекрасно работает.
Однако мы хотим перейти к использованию сценариев в репо, т. Е. Привязать задачу DevOps к пути к файлу, т.е. /somePath/myScript.ps1
Так что мне нужно было бы параметризовать приведенную выше строку кода, так как я не могу просто изменить имя во встроенном скрипте, как я сейчас делаю, но не могу заставить его работать.
Я пытался:
$compositeName = "${someParameter}-Application"
$secretValue1 = $($compositeName)
$secretValue2 = $("${compositeName}")
$secretValue3 = env:$compositeName
$secretValue4 = $(${compositeName})
Верхняя строка просто строит название секрета, который нужно искать. К сожалению, ничего из этого не работает. Попытки № 1, № 2 и № 4 возвращаются только с именем строки, фактически не получив секретного значения, и ошибки № 3, говорящие о том, что его не существует.
Есть ли способ достичь этого,или мне просто нужно параметризовать секрет и передать его в сценарий из задачи ADO?