В чем разница (а) между MSBuild и TFSBuild

Предыстория: у нас есть сервер TFS, на котором я управляю нашим исходным кодом и отслеживаю рабочие элементы и ошибки. У нас также есть настройка CC.Net, которая помогает нам выполнять CI (в основном, это просто сборка и запуск модульных тестов). Мы используем .net framework 3.5 и VS 2008

Я знаком с MSBuild и использую его в нашем текущем проекте для выполнения многих задач перед развертыванием и развертыванием. Однако я не уверен в назначении TFSBuild. Я думаю, что он используется на уровне сервера TFS для выполнения задач сборки. Но я не могу найти хорошую документацию о том, могу ли я (как разработчик, а не администратор нашей TFS ... разработчиков иметь доступ только для чтения к серверу TFS) использовать TFS Build, чтобы упростить мои задачи развертывания / CI, и каким образом. Может ли использование TFSBuild упростить / повысить эффективность моей задачи, если я уже использую MSBuild для процесса сборки, а CC.Net уже выполняет набор имеющихся у нас модульных тестов? TFSBuild - альтернатива CC.Net? А как насчет интеграции TFSBuild с Visual Studio 2008?

Обновление: как TeamBuild вписывается в этот стек. Более того, чем теория, был бы действительно полезен простой пример, который объединяет эти вещи. Прямо сейчас мы просто делаем две вещи: используем MSBuild для выполнения задач развертывания (обновление файла конфигурации, информация о версии, публикация приложения на удаленном сервере), а затем CC.Net берет на себя. Где я могу вписать TeamBuild / TFSbuild в эту картину. И что еще более важно, мне это нужно? Я понимаю, что у всех разные требования, но может ли это вообще помочь? Одна из веских причин, по которой я получил один из ответов в пользу использования сборки TFS, заключалась в том, чтобы автоматически создавать билеты TFS при определенных условиях. Что вы, ребята, обычно делаете?


person Community    schedule 01.07.2009    source источник
comment
Вы имеете в виду Team Build? Единственный известный мне файл TFSBuild - это файл TFSBuild.proj.   -  person John Saunders    schedule 01.07.2009
comment
Джон, меня сейчас путают между TeamBuild и TFSBuild. :). Любые объяснения, которые у вас могут быть по обоим вопросам, были бы полезны.   -  person Punit Vora    schedule 01.07.2009
comment
Не существует такой вещи, как TFSBuild, как исполняемый компонент. См. Ответы ниже.   -  person John Saunders    schedule 01.07.2009
comment
@John C: \ Program Files \ Microsoft Visual Studio 8 \ Common7 \ IDE \ tfsbuild.exe   -  person Ed Guiness    schedule 01.12.2009


Ответы (3)


TFS использует тот же MSBuild 3.5 для автоматических сборок, который Visual Studio 2008 использует локально. TFS определяет свою собственную последовательность сборки, предоставляя MSBuild файл .proj, который импортирует специфичные для TFS цели и обогащает последовательность сборки решения функциями, полезными в среде Team (т.е. получить последнюю версию из системы управления версиями, выполнить сборку, создать Билет TFS в случае сбоя сборки и т. Д.)

Вот моя попытка разобраться во всех этих фреймворках сборки (заархивировано здесь), предоставив историческую перспективу: (мои предположения и предположения могут быть неверными, но все же должны быть полезной концептуальной информацией для новичков). Ознакомьтесь с последним разделом, который называется "Концепции MSBuild, связанные с TFS" - в нем есть несколько полезных ссылок.

person zvolkov    schedule 01.07.2009

MSBuild против TFSBuild

MSBuild - это технология, которая используется для реальных сборок. Узел «Сборки» в Team Explorer - это XML-файл, который вводит основные параметры, которые будут введены в MSBuild. Когда вы добавляете сборку в этот узел, она фактически добавляет некоторые файлы в ваше дерево системы управления версиями. Это файлы, подключенные к MSBuild, которые вы можете настроить.

Вы можете очень легко автоматизировать свои сборки. Существует инструмент командной строки tfsbuild, он должен находиться в папке% Program Files% \ Microsoft Visual Studio 8 \ Common7 \ IDE. Вы указываете сервер TFS, командный проект и тип сборки (имя, которое вы создали в узле «Сборки»). Используйте эту утилиту командной строки и используйте Планировщик задач в Windows, чтобы вызвать ее (Программные файлы - ›Стандартные -› Системные инструменты - ›Планирование задач).

Источник: Форумы MSDN

person Sampson    schedule 01.07.2009

См. Статью Брайана А. Рэнделла Team Build 2008.

Также см. Ресурсы в Learn Team System и Team Foundation Server и Центр разработчиков Team System.

Есть много ресурсов, в том числе для новичков.

person Community    schedule 01.07.2009