2010-02-08 2 views
9

Предполагая, что вы делаете CI, название действительно говорит все: какие инструменты вы используете?Какие инструменты вы используете для обеспечения непрерывной интеграции (CI)?

В нашем случае мы магазин разработки .NET, и используют

Однако мы ударять некоторые проблемы с производительностью Subversion и количество агентов для создания круизных линий & трубопроводов, которые мы запускаем, так что смотрите на использование Git в фоновом режиме, чтобы облегчить это. Однако версия Git для Windows дает нам проблемы (кажется, слишком «бета»), поэтому мы думаем, что нам нужно пойти с версией Linux.

Недостатком этого является то, что он еще больше увеличивает набор навыков, необходимый для всех, кто собирается управлять этой настройкой.

Итак, какой инструмент (ы) вы используете для управления версиями и автоматической сборки/развертывания? Также укажите, что такое платформа разработки.

ответ

4

Team City как сервер CI - бесплатно в течение ограниченного количества проекты.

Отсутствие отвратительной конфигурации XML, хороший веб-интерфейс. Команда City также может быть сконфигурирована с различными системами сборки, NAnt, MSBuild et al. Другие инструменты также могут быть настроены для работы с TC, например, с помощью тестовых тестов с помощью бегуна.

+0

Какую систему контроля версий вы используете вместе с Team City? –

+0

@Richard - Subversion, но он поддерживает других. SVN играет красиво, я могу сообщить об этом по собственному опыту. – Finglas

+0

Спасибо за ответ. Можете ли вы сказать, сколько у вас агентов сборки TeamCity? (это, по-видимому, вызвало узкое место svn для нас - множество агентов по созданию круизных судов, которые делают обновления одновременно) –

8

Мы используем инструмент с открытым исходным кодом Hudson. Это действительно хороший инструмент для создания автоматизированных сборок. Впрочем, дело не только в строительстве. Вы можете использовать его для выполнения тестов, предоставление отчетов покрытия кода, отправки уведомлений по электронной почте и т.д.

(Наша платформа разработки в первую очередь Linux + Java)

+2

Мы также используем Hudson, и у нас есть сочетание Java и C++ в Windows. – mskfisher

2

На моей нынешней работе (контракт на очень крупную компанию. Около 90% Microsoft/.NET dev) моя группа автоматизирует сборку и модульное тестирование с помощью TeamCity в наших новых приложениях.

Я установил это и начал с MSBuild на TC, но я пытаюсь подтолкнуть к файлам Nant и другим стандартам для новых проектов. (с использованием шаблонов в VS2008 для создания как можно большего числа настроек сборки при создании нового проекта)

Исправление источника здесь страшно. Многие группы по-прежнему используют VSS (включая мой, что не забавно) с корпоративным нажатием на TFS в этом году. Я бы предпочел пойти DVCS (git или что-то еще), но это не произойдет в этой среде. На самом деле, я не уверен, что TeamCity сможет остаться, когда компания перейдет на TFS 100%. Но, по-моему, мы до сих пор будем продвигаться с CI к тому времени, когда TFS может не покрыть наши потребности. Но вернемся к TeamCity, он поддерживает VSS просто отлично, и это сработало.

Что касается развертывания, я возился с Microsoft Web Deployment Project add-in, а также конфигурацией в Nant. Подход Нанта, очевидно, более гибкий, но при попытке научить программистов с подключением к точкам сценарии Nant иногда немного.

Надеюсь, что поможет немного. «Демо-версия TeamCity» предоставит вам 20 конфигураций сборки бесплатно.

Следует отметить, что я пробовал CruiseControl.net и Hudson. Оба являются отличными приложениями (и бесплатными), но я знал, что простота создания новой сборки в TeamCity потребуется для остальных в моей группе. В противном случае люди просто просто не будут делать CI, как только я уйду.

+0

Забыл добавить - наши основные приложения в TeamCity - это «веб-формы» C# 3.5 и проекты MVC. У меня есть несколько небольших консольных приложений, которые также находятся в CI. Единичное тестирование - это nUnit прямо сейчас. Может потребоваться переключиться на MSTest, если мы перейдем в TFS. Я также автоматизирую анализ FXCop в TeamCity на большинстве построек. Чрезвычайно прост в установке. – adammokan

+1

Также - проверьте это последнее сообщение в блоге о том, как кто-то установил TeamCity и MSDeploy для развертывания своих приложений. http://therightstuff.de/2010/02/06/How-We-Practice-Continuous-Integration-And-Deployment-With-MSDeploy.aspx – adammokan

1

Мой магазин Java/Windows с использованием программного обеспечения IBM; ClearCase, WAS, WMB, WPS. Мы пошли с Хадсоном, и это принесло некоторые замечательные вещи для производительности.

Мы также используем маленькое чучело животных, в данном случае, пение Frosty The Snowman, высота которого около 12 дюймов. Всякий раз, когда разработчик ломает сборку, как идентифицировал Хадсон, у них есть 15 минут, чтобы очистить беспорядок, или Морозный наматывается на их рабочий стол. Морозный остается там, пока кто-то еще не завинчивает его таким же образом.

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

0

Я использовал для использования cruise control.net, nunit, fxcop, ncover, xmlpreprocess, nant и нескольких других, прежде чем переходить на TFS, где я делаю много s разработка harepoint. Я не инвестировал в процесс CI для разработки sharepoint для ограничений нашего проекта, но я разработал задачи msbuild и подписался на события TFS, чтобы имитировать процесс CI с помощью TFS 2k5. Я вообще не рассматривал его для TFS 2k8, но его определенно поддерживали.

Смежные вопросы