Подставьте переменную в качестве входных данных из STDOUT консольного приложения - PullRequest
1 голос
/ 29 сентября 2019

В нашем конвейере выпуска у нас есть консольное приложение, которое выполняет функцию, которая генерирует ключ шифрования и выводит его в STDOUT. Нам нужно иметь возможность использовать это значение в переменной во время развертывания (обновление файла конфигурации с результатами из консольного приложения). Мы попытались использовать параметр «Выходные переменные» в задаче командной строки в Devure для Azure, но, к сожалению, нам нужен другой формат ... и, похоже, он не работает должным образом.

Например, наш cmdЛинейный инструмент выводит 908321093RANDOMLYGENERATEDKEY3422543 в STDOUT

Имя в нашем файле конфигурации для этого ключа выглядит примерно так: Settings.Security.OurKey, однако выходная переменная в задаче командной строки не допускает точки (.) и, как таковая, устанавливаетсяSettingsSecurityOurKey ... мы также попробовали SETTINGS_SECURITY_OURKEY, но значение переменной никогда не задается задачей.

Можно ли каким-либо образом установить переменную Azure Devops в значение выходной переменной изкомандная строка или скрипт powershell? Что-то вроде:

set $(Settings.Security.OurKey) = SettingsSecurityOurKey

Или есть более простой способ достижения этого? Кажется, это не должно быть так сложно ...

1 Ответ

0 голосов
/ 30 сентября 2019

Это похоже на проблему с Powershell, а не на DevOps Azure.

# Variable name with special characters
$VariableName.That.Contains.Periods     # This will NOT work.
${VariableName.That.Contains.Periods}   # This will work.

См. Это для получения дополнительной информации: https://blog.danskingdom.com/accessing-powershell-variables-with-periods-in-their-name/

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