TFS против альтернатив с открытым исходным кодом?[закрыто]

StackOverflow https://stackoverflow.com/questions/61959

Вопрос

В настоящее время мы находимся в процессе настройки сервера управления версиями / сборки / и многого другого для разработки .NET, и мы думаем либо об использовании Team Foundation Server (который стоит больших денег), либо об объединении нескольких вариантов с открытым исходным кодом, таких как SourceForge Enterprise / GForge и Subversion, и CruiseControl.net и так далее.Кто-нибудь проходил по полномасштабному пути OSS или это TFS, только если вы хотите все сделать правильно и поскорее приступить к работе?

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

Решение

В настоящее время в моей работе используется в основном процесс сборки OSS с круиз-контролем в качестве двигателя, и это здорово.Я бы предположил, что если вы не знаете, зачем вам нужен TFS, то, вероятно, это не стоит таких затрат.

Что вы должны иметь в виду при работе с OSS, так это то, что программное обеспечение либо использовалось командой Java в течение многих лет ранее, либо программное обеспечение является портом аналогичного кода Java.Он прочный и подходит по назначению.

Microsoft не может поставлять код OSS, вот почему им приходится повторно внедрять множество материалов с открытым исходным кодом.Так что нет, в этом нет необходимости, и в этом стеке были отправлены миллионы проектов.Обратной стороной является то, что с TFS вы также получаете множество приятных функций, которые вы не сможете (легко) получить со стеком OSS, таких как интеграция с вашим программным обеспечением для отслеживания ошибок / функциональных возможностей.

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

Я всегда шел по пути OSS, и у меня никогда не возникало проблем.Я бы также настоятельно рекомендовал TeamCity для вашего решения CI.Есть бесплатная лицензия, и я думаю, что он дует CC.NET из воды для облегчения настройки и обратной связи.

Я ежедневно пользуюсь TFS уже около 1,5 лет.

  • Система управления версиями стабильна
  • Вы не можете легко работать отключенным.Проверка файла отправляется на сервер.
  • Автоматическое слияние работает отлично, за исключением того, что иногда оно повреждает исходный файл (проблема с кодировкой).
  • У TFS вялый вид!?Особенно менеджер по тестированию.Управляемый код?
  • В тестовой части есть разные глупые ошибки, ничего критичного.
  • Запуск тестовых запусков занимает слишком много времени (в ожидании).
  • Время от времени я получаю взаимоблокировки SQL!?
  • Отслеживание проблем - отстой, имхо.Вы вынуждены работать в медленных интегрированных диалоговых окнах, веб - это только отображение.Я рекомендую сравнить его с другими системами отслеживания проблем, такими как ДЖИРА
  • Сборки работают нормально.

Если вы используете TFS, убедитесь, что вы установили VSTS2008SP1.Подавляющее большинство людей, которых я видел, публикующих жалобы, используют версию 2005 года.2005 год - это классический синдром "Microsoft 1.0".Было МНОГО проблем, которые были исправлены в 2 более поздних "версиях".

Пакет обновления для 2008 года - это не просто исправление ошибок, но и добавление множества новых функций.

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

Мы посмотрели на TFS, но в итоге остановились на Subversion + Trac + VisualSVN.Мы сейчас не занимаемся CI, но, я думаю, мы бы использовали Cruisecontrol.

Я начал использовать Trac в многочисленных проектах с открытым исходным кодом, и это здорово.На самом деле это лишь часть того, что делает TFS, поэтому вам придется принять решение здесь - если вы используете все, TFS, вероятно, лучше справится с объединением всего этого.Trac - это вики / багтрекер / браузер исходных текстов.Все связано - когда вы вводите название страницы WikiPage или говорите "Исправить ошибку # 1234" в сообщении о фиксации, всякий раз, когда вы видите это сообщение в Trac, ссылки переходят в нужные места.Это инструмент, который помогает вам выполнять вашу работу, но, как правило, остается в стороне.

VisualSVN является отличным связующим звеном между TortoiseSVN (клиентом Subversion) и VisualStudio и значительно повышает производительность.У них есть бесплатная пробная версия, и после этого она стоит не очень дорого (50 долларов на пользователя), но того стоит.

Одним из возможных недостатков Trac является то, что в мире Windows очень сложно начать работать с IIS.Я устанавливал Trac много раз, но быстро разочаровывался, пытаясь заставить его работать должным образом.В итоге я установил Apache на другой IP (также мог использовать другой порт), и тогда все прошло без проблем.

За исключением одного человека из моей команды (у которого был небольшой опыт), никто никогда раньше не использовал subversion.Пара человек использовала VSS, и это все.Все были настроены довольно скептически, но я бы сказал, что через несколько дней все они стали новообращенными.После полного изучения Trac и привыкания ко всему (еще несколько дней) все полностью проданы и им это нравится.

Наша компания с большим успехом использует комбинацию CruiseControl / SVN / NAnt / JIRA.

Преимущество сделки с TFS заключается в том, что это выгодно только крупным компаниям.Это будет ужасно дорого для небольших компаний с 30 или менее разработчиками, которые уже получили бы большую выгоду от вышеупомянутой комбинации с открытым исходным кодом.

Subversion + Cruisecontol.Хорошей альтернативой является Net.SVN is обладает широкими возможностями, стабильностью и гибкостью.

Реальным преимуществом использования TFS по сравнению с отдельным набором инструментов операционной системы является интеграция различных потоков доступной информации.

* Создайте требование и вставьте в TFS
* Создайте набор задач, связав их с требованием, и назначьте их различным разработчикам.
* Каждый разработчик работает над своей задачей и проверяет ее, назначая задачу проверенному набору изменений.
* Поступило исправление ошибки, также в этом случае набор изменений будет согласован с запросом на исправление ошибки, и вы также можете сопоставить исправление ошибки с исходным требованием

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

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

Стек TFS - это гораздо больше, чем система управления версиями и настройка сборки CI / nightly.Подумайте об управлении проектами, отчетах об ошибках, и все это превратится в нечто большее, чем просто CruiseControl, SVN и NAnt.Одни только отчеты могут стоить вложений.И также помните, что если вы подписчик MSDN / золотой партнер ISV / и т.д.возможно, вы получите кое-что из этого бесплатно...

Я только недавно начал работать с TFS изо дня в день, и, перейдя из ранее открытого стека исходных текстов, я нахожу его весьма недостаточным.

Хотя интеграция отслеживания всех ошибок и задач - действительно отличная функция, недостатки перевешивают ее.

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

Я видел и то, и другое в действии (хотя я разработчик Java).Плюсами подхода pick and mix является то, что вы можете выбрать лучшие фрагменты для всего (напримерЯ бы проверил Hudson на CI - он отлично подходит для Java, работает для .Net тоже и имеет нагрузки из плагинов и действительно прост в использовании).Недостатком является то, что вам придется выполнять всю интеграцию самостоятельно.Тем не менее, это становится лот проще в мире Java.Кроме того, не позволяйте людям говорить вам, что поддерживаемый продукт лучше.На многих продуктах OSS в этом пространстве качество отличное, и вы получаете лучше поддержка со стороны cimmunity вместо ожидания ответа от контракта на поддержку вашего поставщика (IBM, я смотрю на вас)

Надеюсь, это поможет.

Я бы полностью согласился с тем, что использовать TFS стоит только в том случае, если вы точно знаете, для чего она вам нужна.Дешевые или бесплатные надстройки на базе операционной системы, такие как Visual SVN и TestDriven.Net настолько хороши, что интеграция с VS уже происходит без проблем.

Я подумал, что предложу новую перспективу, к которой можно отнестись с недоверием, потому что я ее еще не пробовал, но планирую использовать Bitten для CI в предстоящем проекте.Это работает поверх Trac + SVN, обоих отличных инструментов, которые я успешно использовал для многих проектов.

Здесь мы постепенно создали стек разработки, который в настоящее время используем:

  • Подрывная деятельность
  • Управление круизом
  • RedMine (интегрирует отслеживание ошибок с системой управления версиями и включает wiki, базовое управление проектами и т.д.).

Я думаю, что TFS стоит того из-за всех дополнительных функций, упомянутых в вышеприведенных сообщениях.Функциональности непрерывной сборки серьезно не хватает, поэтому мы дополняем эту часть с помощью CruiseControl.NET, что потрясающе.Единственная причина, по которой мы предпочли бы отказаться от TFS, если бы собирались сделать это прямо сейчас, заключается в том, что мы переходим к кроссплатформенной разработке наших продуктов.Так что, если вы хотя бы думали об этом, подумайте об OSS.Subversion / Trac было бы моим любимым сочетанием таким образом с CruiseControl.СЕТЬ по-прежнему остается основой.CC.NET использование mono хорошо работает в Linux и Mac.

TFS2010 имеет TFS Basic, который ничего не стоит (сверх вашей подписки msdn / лицензии Visual Studio).Он ограничен 1 лицензией на VS, но вам нужны дополнительные лицензии только для пользователей, не являющихся пользователями VS

Автоматизация пользовательского интерфейса в VS2010 сама по себе делает TFS победителем по сравнению с объединением решений с открытым исходным кодом

Стоит отметить, что лучшей альтернативой широкому спектру функций TFS являются не обязательно операционные системы, но и малобюджетные коммерческие, такие как NDepend для изучения качества кода и архитектуры, НКовер для покрытия кода, TestDriven.NET для тестирования , вложенного в IDE ...

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