Я слежу за сборками наших продуктов, и меня попросили придумать способ настройки существующего определения сборки, чтобы при необходимости создавать разные ветви.
Процесс сборки для этого продукта уже имеет несколько пользовательских шагов и действий, и у продукта есть большое количество файлов проекта, которые создаются, поэтому неэффективно устанавливать новое определение сборки для каждой новой создаваемой ветви.
Определение сборки настроено на сборку из ветви Main. Цель состоит в том, чтобы ввести определенную ветвь (используя аргумент рабочего процесса, который можно ввести, когда сборка ставится в очередь), которая затем будет построена вместо основной ветви по умолчанию без необходимости редактировать определение сборки.
У меня есть отдельная тестовая программа, которую я использую для тестирования всех своих пользовательских действий и процедур сборки. В рабочем процессе для этого определения сборки я добавил довольно много сообщений о сборке для целей регистрации, чтобы я мог просматривать значения переменных, используемых в процессе сборки.
Я также создал ветку на основе этой тестовой программы, готовую для тестирования определения сборки, которое можно использовать для создания более одной ветки
Во-первых, я запустил сборку для исходных файлов проекта тестового решения из исходной ветви, затем изменил определение сборки так, чтобы то же самое было сделано с использованием новой ветви, и запустил другую сборку. При сравнении журналов сборки между двумя ветвями между ними есть только несколько незначительных различий. (Детализация ведения журнала установлена на Диагностика)
1-е отличие - я посмотрел переменную Workspace, и свойство Folders компоновок ссылается на их соответствующие ветви, в частности, свойство ServerItem свойства Folders
2-е отличие - создаваемые файлы проекта (BuildSettings.ProjectsToBuild) поступают из соответствующих ветвей
Я не видел никаких других отличий между 2 журналами сборки, кроме этих
Главный вопрос здесь :
Существует ли стандартный способ замены веток, создаваемых для одного определения сборки?
Если нет, можно ли просто изменить все ссылки на основную ветку по умолчанию в настроенном шаблоне рабочего процесса (в Workspace и BuildSettings.ProjectsToBuild) на введенную ветвь при постановке в очередь на сборку?
Как всегда, заранее спасибо за любую помощь