Есть ли способ сделать вложенные переменные в VSTS Release Management?

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

CodeNetworkShare.Dev
CodeNetworkShare.Test
CodeNetworkShare.Prod

Я импортировал эту группу переменных в свое определение выпуска. Затем я попробовал следующие способы использования этого в определении выпуска.

  1. Я создал локальную переменную в определении выпуска следующим образом:

    Имя = CodeNetworkShare1 Значение = $(CodeNetworkShare.$(Release.EnvironmentName))

  2. Я попытался использовать его непосредственно в задаче, используя следующее выражение:

    $(CodeNetworkShare.$(Release.EnvironmentName))

Ни один из вышеперечисленных подходов не работал. Есть ли другой способ заставить это работать? Выпускают ли определения VSTS вложенные переменные? Если это не поддерживается на данный момент, есть ли планы по поддержке этого в будущем?


person Sai Gudigundla    schedule 31.07.2017    source источник
comment
У нас есть планы по поддержке групп переменных на уровне среды. Таким образом, вы сможете связать группу переменных dev со средой dev, группу тестовых переменных с тестовой средой и так далее.   -  person Aseem Bansal    schedule 14.08.2017


Ответы (3)


В VSTS используется другой подход: вы можете определить переменные на уровне определения выпуска или на уровне среды (см. https://www.visualstudio.com/en-us/docs/build/concepts/definitions/release/variables).

введите здесь описание изображения

person Giulio Vian    schedule 01.08.2017
comment
Спасибо @Giulio, это именно то, что у меня есть сейчас. Проблема с этим подходом заключается в том, что мне нужно определить каждую переменную столько раз, сколько у нас есть сред. Я хотел бы централизовать это. Также я хотел бы определить все задачи для одной среды и просто клонировать ее, чтобы создать определения выпуска для других сред. Отсюда необходимость вложенных переменных. - person Sai Gudigundla; 02.08.2017

Два перечисленных вами подхода могут работать хорошо. И версия VSTS поддерживает вложенные переменные.

Помимо определения переменной в определении выпуска (или переменной среды) или использования ее напрямую, вы можете добавить переменную CodeNetworkShare1=$(CodeNetworkShare.$(Release.EnvironmentName)) непосредственно в группу переменных. Затем в определении выпуска можно использовать apply с разными значениями для разных имен сред.

person Marina Liu    schedule 01.08.2017
comment
Не могли бы вы добавить скриншот для этого? Спасибо. Я пробовал, но это не работает - person Jeff Chen; 25.10.2018

VSTS теперь имеет возможность связывать группы переменных с разными средами в рамках одного определения выпуска. Создайте отдельные группы переменных для каждой среды (dev, test, prod или, может быть, просто dev и prod, если, например, test находится в производственной среде), а затем свяжите эту группу с правильными средами на странице ссылок. Подробнее см. в моем другом ответе здесь: ">Есть ли способ использовать группы переменных VSTS для каждой среды?

person Tuukka Haapaniemi    schedule 02.02.2018