Azure DevOps выпускает конвейерную переменную, вложенную / составленную / выражение - PullRequest
1 голос
/ 27 июня 2019

У меня есть конвейер выпуска с переменной, но, кажется, нет никакого способа установить значение этой переменной в то, что оценивается во время выпуска. Например, другая переменная.

Вот реальный пример:

enter image description here

Все, что я хочу сделать, это установить значение MyExpressionBasedVariable равным значению MyOtherVariable.

Все документы и примеры в Интернете, похоже, предполагают, что это возможно, но я не могу заставить его работать. Я всегда получаю буквальную строку, а не оцененное значение.

Я пытался использовать эти разные синтаксисы:

  • $(MyOtherVariable)
  • $[variables['MyOtherVariable']]
  • ${{variables['MyOtherVariable']}}

Я видел, что вы можете определять пользовательские задачи для установки имен переменных как часть конвейера, но это кажется чрезмерным излишеством.

По сути, все, что я хочу сделать, - это переименовать секрет хранилища ключей в другое имя переменной для замены переменных XML на основе соглашения в файлах конфигурации.

например. У меня есть секрет с именем this-is-a-secret-name-which-is-a-different-naming-convention-to-my-connectionstrings, но он мне нужен в переменной с именем MySecret-ConnectionString.

Как использовать значение другой переменной в переменной конвейера выпуска?

1 Ответ

0 голосов
/ 28 июня 2019

Как использовать значение другой переменной в переменной конвейера выпуска?

Во время тестирования то, что вы установили, должно работать.Вы можете попытаться выполнить следующие шаги, чтобы проверить, сохраняется ли эта проблема:

  • Создать новый конвейер выпуска без связать любую группу переменных.
  • Установите переменную следующим образом:

    enter image description here

  • Добавьте задачу Run Inline Powershell, чтобы вывести значение переменной:

    Write-Output 'The value of MyExpressionBasedVariable is $(MyExpressionBasedVariable)'
    
    Write-Output 'The value of $(MyOtherVariable) is $(MyOtherVariable)'
    

Тогда мы можем получить журнал:

enter image description here

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

Кроме ,на данный момент значение вложенных переменных (например, $(TestVar_$(Release.Reason))) еще не поддерживается в конвейерах сборки / выпуска , проверьте этот поток для некоторых деталей, поэтому убедитесь, что естьнет таких вложенных переменных в вашем проекте.

Надеюсь, это поможет.

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