2017-02-22 18 views
0

У меня есть проект технической ткани, созданный с компакт-диском в VSTS. Процесс CD был создан с помощью мастера компакт-дисков в визуальной студии. Пока все хорошо, но когда релиз сделан, я не получаю никакого значения от pre-defined variable под названием Build.DefinitionName, который я использую для присвоения имен выпускам.Предварительно определенная переменная пуста при создании выпуска VSTS

Это как настроено мое имя выпуска: $(Build.DefinitionName)-$(date:yyyyMM).$(rev:r)

Если посмотреть в журнале выхода нет значения для переменных:

[BUILD_DEFINITIONNAME] --> [] 
[RELEASE_ARTIFACTS_{Primary artifact alias}*_DEFINITIONNAME] --> [] 

* Это значение заполняется правильно.

И согласно документам первичных переменных артефакта, две указанные выше переменные должны быть одинаковыми.

В результате этого мои релизы названы $ (Build.DefinitionName) -201702.7

Если я использую Build.BuildNumber вместо этого. Я получаю правильное значение.

Как я могу получить переменные?


Update

При создании сборки и выпуска определений Вручную $(Build.DefinitionName) получает правильно заселенных на стороне выпуска. Но проблема возникает, если вы используете CD wizard из Visual Studio. Мне может быть что-то не хватает, но настройки определения сборки идентичны. Или есть некоторые напуганные вещи, которые происходят с мастером компакт-диска.

+0

Вы пытаетесь передать переменные, чтобы освободить управление от процесса сборки? –

+0

Я не могу воспроизвести эту проблему. (имя выпуска: $ (Build.DefinitionName) - $ (дата: yyyyMM). $ (rev: r), тогда результат ClassTestVNext-201702.3). Можете ли вы воспроизвести эту проблему с новым определением сборки и выпуска? Каков подробный журнал выпуска? –

+0

@MrHinsh Да точно. Читая документацию, у меня создалось впечатление, что это должно работать из коробки. – user5351799

ответ

0

Решение состоит в том, чтобы создать определение выпуска вручную при веб-доступе и установить непрерывное развертывание.

0

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

Однако я пишу серы задач сборки, чтобы сделать это: https://marketplace.visualstudio.com/items?itemName=nkdagility.variablehydration

Он состоит из двух задач, то первое сохраняет указанные переменные в JSON-файл, который вы должны положить на выходе сборки.

Второй восстанавливает переменные, которые вы хотите. Особенно полезно, если у вас есть несколько исходных построек для вашей версии.

Смежные вопросы