2016-09-30 3 views
4

Мы используем Visual Team Team Services.Услуги Visual Studio Team: определение Single Build для нескольких филиалов

У нас есть Prod-Branch, который построен на основе нашего Prod-Build-Definition и развернут нашим Prod-Release-Definition в нашу тестовую/интеграционную и производственную среду.

С каждой версией Prod-Release, развернутой для клиента, мы создаем ветвь Prod-Rel-Version-x.x.x из Prod-Branch (в случае, если это необходимо для исправления).

Во время Sprint мы разрабатываем Dev-Branch, который построен по нашему Dev-Build-Definition и развернут нашим Dev-Release-Definition в нашу среду DEV для тестов разработчиков.

После Sprint (или время от времени) Dev-Branch объединяется с Main-Branch, а затем в Prod-Branch. Оттуда клиент отправляется на различные этапы тестирования.

Когда есть исправление, мы исправляем ошибку в ветке Prod-Rel-Version-xxx и хотели бы повторно использовать существующее Prod-Build-Definition для создания этой версии исправления и развертывания на разных этапах существующим Prod-Release-Definition для тестирования и выхода в эфир с этой версией.

Как мы можем повторно использовать наше Prod-Build-Definition с этой другой ветвью (Prod-Rel-Version-x.x.x Branch вместо Prod-Branch)?

Когда я смотрю на определение сборки, я думаю, что я буду возможен, просто отредактируйте путь к серверу (хранилище> сопоставления) от $/NameOfOurApp/Prod до $/NameOfOurApp/Prod-Rel-Version-x.x.x) ... что должно делать трюк или нет? Но из того, что я читал, невозможно использовать Build-Variables в сопоставлениях с сервером, поэтому я не могу изменить эту переменную, например, в Queue new Build Dialog ...

Каков наилучший способ для выполнения моего сценария?

+0

Это печально :(Должен быть способ выбрать «ветвь» из «диалога новой сборки очереди». – Vivek

ответ

5

Единственный способ сделать это - создать одно определение сборки, которое загружает все ветви. Затем используйте переменные в задачах, чтобы выбрать версию для сборки. Это станет очень грязным (и медленным) очень быстро.

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

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

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