Сборка команды: использовать одни и те же внешние цели для нескольких определений - PullRequest
1 голос
/ 25 марта 2011

Я хочу использовать одни и те же цели, определенные во внешнем файле, в нескольких определениях сборки.Этот внешний целевой файл должен храниться в системе контроля версий.Фаза начальной загрузки, описанная в TFSBuild.proj и «Импорт внешних целей» , по-видимому, не позволяет загружать один и тот же файл для определения нескольких сборок, поскольку файл сборки всегда называется TFSBuild.proj и, следовательно, находится в отдельной папке для каждогоопределение сборки.

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

Цитировать этот комментарий Дэвид Кивини:

Возможно ли получить загрузку TFS из других путей к папкам во время начальной загрузки?У меня есть файл Common.targets, который содержит все пользовательские задачи, которые должен выполнять мой TFSBuild.proj, но, учитывая, что у меня несколько определений сборки (одна папка на определение), он находится в отдельной папке на том же уровне, что и определения сборки,Без этого, конечно, сборки сразу терпят неудачу.- Дэвид Кивини 17 августа 2010 года в 23: 58

1 Ответ

1 голос
/ 25 марта 2011

Я не уверен, есть ли простой способ сделать это. У вас может быть главная копия файла целей и ветвь, которая будет добавлена ​​в каждую из папок определения вашей сборки. Когда вы обновляете файл целей, вам нужно помнить, чтобы объединить его со всеми папками. Возможно, вы могли бы написать сценарий, который автоматизирует объединение, сценарий должен уметь определять, какие отношения ветвления используют tf branches, а затем перебирать их и вызывать tf merge затем tf checkin. Это похоже на большую работу, хотя.

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

Мне было бы очень интересно, если бы у кого-то был более простой способ справиться с этим.

...