В настоящее время я отправляю в моей подсказке список переменных значения ключа из осьминога в мой проект. Они читаются и устанавливаются в моем окружении с помощью приведенного ниже кода.
$testKeys = $OctopusParameters.keys | Where-Object {$_ -like "test.env.*"}
ForEach ($key in $testKeys)
{
$value = $OctopusParameters[$key]
$name = $key.subString(9) # remove test.env prefix
$kubectlArgs += "--env=`"$name=$value`""
}
Это происходит следующим образом:
> --env="ASPNETCORE_ENVIRONMENT=integration"
> --env="ConnectionStrings__MongoDB=my mongo connectgion string"
> --env="ServiceConfiguration__MyJSONObjectConfiguration=[ {'MyID': 23, 'URL': 'http://google.com/', 'User': 'MyUser',
> 'Password': 'test', 'Domain': 'MyDomain', 'Key': 'myKey'} ]"
Итак, как вы можете видеть, это прекрасно работает, когда один к одному, ключ = строковое значение. Проблема в том, что для serviceConfiguration я передаю объект JSON.
Мой код захватывает значения, которые мне нужны, вот так
"ServiceConfiguration: MyJSONObjectConfiguration: 0"
Как настроить сценарий PS1 для обработки конфигурация службы как JSON объект, а не строка? Это вообще возможно?