Невозможно прочитать переменные выпуска VSTS Online - PullRequest
0 голосов
/ 15 мая 2018

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

# Добавить в качестве параметра сценария на этапе выпуска

-ResourceGroupNameArg "$(ResourceGroupName)" -KeyVaultNameArg "$(KeyVaultName)" -KeyVaultSecretNameArg "$(KeyVaultSecretName)"

# Сам скрипт

Param(
   [string]$ResourceGroupNameArg,
   [string]$KeyVaultNameArg,
   [string]$KeyVaultSecretNameArg
)
<...>
$secret = Get-AzureKeyVaultSecret -VaultName $KeyVaultNameArg -Name $KeyVaultSecretNameArg 
$secretValue = $secret.SecretValueText
Write-Host "##vso[task.setvariable variable=SQLAdministratorPassword;issecret=true]$secretValue"

Здесь я могу передать в скрипт разные имена KeyVault (в соответствии с моими потребностями) - подставив переменные $ KeyVaultNameArg и $ KeyVaultSecretNameArg.

Для любых других переменных, настроенных с помощью ##vso[task.setvariable variable=, я могу получить их, используя конструкцию $env:DatabaseName (например, в другом скрипте POSH) или $(DatabaseName) на этапе агента (с помощью агента Hosted 2017).

Однако для переменной issecret=true или даже для созданной вручную переменной я не могу получить ее значения во время процесса развертывания выпуска.

variables script release-error step-release

Согласно этой статье,

Значения скрытых (секретных) переменных надежно хранятся на сервер и не могут быть просмотрены пользователями после их сохранения. Во время при развертывании служба управления выпусками дешифрует эти значения при ссылки на задачи и передает их агенту через безопасный HTTPS канал.

Таким образом, переменные IMO должны быть доступны для сценария (или даже этапа агента), несмотря на то, что они являются секретными.

1 Ответ

0 голосов
/ 16 мая 2018

Для этого выполните следующие действия:

  1. Перейдите на вкладку "Библиотека"
  2. Нажмите + группа переменных
  3. Укажите имя группы переменных
  4. ВключитьСвяжите секреты для хранилища ключей Azure в качестве переменных и свяжите хранилище ключей Azure
  5. Нажмите + Добавить, чтобы добавить необходимые секреты (ы)
  6. Изменить определение выпуска
  7. Выберите вкладку Переменные
  8. Выберите группы переменных
  9. Нажмите Связать группу переменных, чтобы связать эту группу переменных
  10. Использование связанной переменной непосредственно в задаче освобождения ($(variable name))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...