Вопрос

Наша команда занимается настройкой ночных и непрерывных интеграционных сборок.У нас есть Team Foundation Server, и мы можем использовать Team Foundation Build.Я больше знаком с CC.Net и склоняюсь к этому, но руководство видит все деньги, потраченные на TFS, и хочет их использовать.

Что мне больше всего нравится в CC.Net, так это гибкость уведомлений, а также простота реализации пользовательских сценариев.

Если у вас есть опыт использования обоих продуктов, какой из них вы предпочитаете и почему?

Это было полезно?

Решение

Я использовал оба.Я думаю, это зависит от того, что ценит ваша организация.

Поскольку вы знакомы с CC Net, я не буду много об этом говорить.Вы уже знаете, что делает это крутым.

Вот что мне нравится в Team Foundation Build:

  • Агенты сборки.Очень просто превратить любую коробку в сборочную машину и запустить на ней сборку.MSFT понял это правильно.
  • Составление отчетов.Все соответствующие результаты сборки (включая тесты) сохраняются в базе данных SQL и передаются через службы SQL Server Reporting Services.Это чрезвычайно мощный инструмент для построения графиков результатов сборки и тестирования с течением времени.CC Net не имеет этой встроенной функции.
  • Вы можете выполнить аналогичные настройки через MSBUILD.По сути, это то же самое, что использовать NAnt с CC Net.

Вот что меня сбивает с толку в Team Foundation Build:

  • Для сборки проектов C++/CLI (или запуска модульных тестов...?) в агенте сборки должен быть установлен VSTS Dev или Team Suite.Друзья, это просто безумие.
  • Он должен быть подключен к TFS Mothership.

Если вы работаете в большой организации с множеством начальников, у которых огромные бюджеты и любящие отчеты (и не поймите меня неправильно, это имеет огромную ценность) ИЛИ вам нужно масштабироваться до фермы, состоящей из нескольких машин, я бы предпочитаю Team Foundation Build.

Если у вас более компактный магазин, придерживайтесь CC Net и развивайте свои собственные решения для отчетности.Вот что мы сделали.

Пока нас не приобрели.И получил TFS :P

Другие советы

Я предполагаю, что, поскольку у вас есть TFS, вы будете использовать его для контроля версий.В этом случае я бы склонился к Team Foundation Build.Тем не менее, я во многом согласен с Ник.

Я написал Интеграция CruiseControl.NET для TFS.Он отлично работает и предоставляет вам те же возможности сборки, к которым вы привыкли.На мой взгляд, главное преимущество CC.NET заключается в том, что он полностью расширяем и имеет интеграцию со всеми основными SCM и системами сборки, существующими на свете.Основная причина, по которой я написал интеграцию CC.NET в TFS, заключается в том, что в TFS2005 система сборки не имела встроенной поддержки CI.Однако версия TFS2008 значительно улучшена, и команда продолжает очень активно улучшать ее для будущих выпусков TFS.

Основная причина перехода на TFS Build заключается в том, что он автоматически передает информацию о сборке обратно в TFS, что помогает завершить картину разработки программного обеспечения с точки зрения отчетности.Он также прекрасно интегрируется со стороной отслеживания рабочих элементов TFS и внутри IDE (как в Visual Studio, так и в Eclipse).

Тем не менее, если вы вложили большие средства в сценарии Nant, которые делают больше, чем просто компилируют и тестируют ваш код, или у вас уже есть самодельное решение для создания отчетов, возможно, вы захотите придерживаться того, что у вас есть.

Реальная ценность Team Foundation Build заключается в том, что она связывает наборы изменений и рабочие элементы со сборками.

Это позволяет реализовать несколько полезных сценариев:

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

И, конечно, есть отчеты, построенные на основе этой информации.Но даже эти ссылки сами по себе полезны для людей, не занимающихся менеджментом.

Посетите сайт www.tfsbuild.com, чтобы найти «рецепты» для различных конфигураций Team Build.

SVN — хороший инструмент, намного превосходящий его, это неправда, SVN vs.TFS похож на пикап Ford против Mercedes 500, он выполняет свою работу, но он некрасив и неудобен, слияние оставляет желать лучшего.Я предпочитаю инструмент слияния TFS, так как кажется, что разработчик ветвления тут же работает с вами, вот насколько он умен.Наш внутренний SVN, похоже, сильно повредился, поэтому мы отказались от него и перешли на TFS и не оглядывались назад.Хранение наборов изменений на полке прекрасно подходит для цеха гибкой разработки: в настоящее время в TFS работает более 270 инженеров без каких-либо проблем или проблем, SVN просто не способен справиться с такой нагрузкой без проблем.

Я предпочитаю CC.NET просто потому, что мы разработали собственные инструменты для расширения функциональности отчетности и администрирования.Однако сборка TFS очень тесно интегрирована, и мы ожидаем изменения при обновлении до SQL 2008.

Мы используем CruiseControl.net с июня 2007 года, и он нам очень помог.Самое приятное то, что он легко интегрируется с SVN, который является гораздо лучшим поставщиком средств контроля версий.

Итак, наша установка:

  • Круиз-контроль.Net
  • СВН
  • Трак - для отчетов об ошибках и управления проектами (отлично интегрируется с SVN)
  • nunit — для модульного тестирования

У нас была серьезная параллельная разработка, и опыт ветвления и слияния был впечатляющим.Если у вас есть выбор, я бы выбрал настройку выше!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top