Вопрос

Я хотел бы спросить вас, какую среду автоматизированной сборки вы считаете лучшей, основываясь на практическом опыте.Я планирую заняться некоторыми .Разработкой Net и Java, поэтому я хотел бы иметь инструмент, поддерживающий обе эти платформы.

Я тут кое-что почитал и узнал о CruiseControl.NET, используемый при разработке stackoverflow, и Командный город благодаря поддержке агентов сборки на разных операционных платформах и на разных языках программирования.Итак, если у вас есть некоторый практический опыт работы с обоими из них, какой из них вы предпочитаете и почему?

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

Кроме того, если есть какой-то другой инструмент, соответствующий вышеупомянутым требованиям, и вы считаете, что его стоит рекомендовать - не стесняйтесь включать его в обсуждение.

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

Решение

Я работал над инструментами непрерывной интеграции и с ними, начиная с того, который породил круиз-контроль (версия Java).В какой-то момент я перепробовал почти все из них.Я никогда не был так счастлив, как с TeamCity.Он очень прост в настройке и при этом обеспечивает большую мощность.Страница статистики сборки, которая показывает время сборки, количество модульных тестов, скорость прохождения и т.д.это очень мило.Домашняя страница проекта TeamCity также очень ценна.Для простых .NET-проектов вы можете просто сообщить TeamCity, где находится решение и какие сборки содержат тесты, и это все, что ему нужно (кроме расположения системы управления версиями).Мы также использовали с ним несколько сложных скриптов MSBuild и выполнили цепочку сборки.Я также прошел два обновления TeamCity, и они прошли безболезненно.

CruiseControl.СЕТЬ также работает хорошо.Его сложнее настроить, но он имеет более длительную историю, поэтому легко найти решения в Интернете.Поскольку CruiseControl.NET имеет открытый исходный код, у вас также есть возможность добавлять или изменять все, что вам нравится.Я использовал CruiseControl.NET с момента его выпуска и написал часть раннего кода для cc.tray (к счастью, переписанный кем-то, кто знал лучше).

Cruise от ThoughtWorks тоже выглядит неплохо, но я не вижу веских причин для того, чтобы переключаться.Если бы я начинал новый проект, я мог бы попробовать, но TeamCity проделала огромную работу по упрощению простых вещей, делая сложное совершенно безболезненным.

Редактировать:Мы обновились до TeamCity 5.0 всего несколько недель назад, и это было еще одно безболезненное обновление.Это позволило нам воспользоваться улучшенными возможностями покрытия кода и поддержкой GIT.Кроме того, сейчас мы используем функции персональной сборки и предварительно протестированной фиксации, которые были доступны уже некоторое время.Я просто подумал, что мне следует обновить ответ, чтобы указать, что TeamCity продолжает совершенствоваться и по-прежнему прост в использовании.

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

Я был / я большой поклонник CC.NET. В настоящее время у нас есть 5 проектов в CruiseControl, и они прекрасно работают. Написание файлов конфигурации вручную может быть болезненным, но это нормально.

А .

После Kona: непрерывная интеграция и улучшенное модульное тестирование (первый 1/3 о TeamCity) Я тоже проверю TeamCity. Мне нравится встроенная приборная панель и интерфейс конфигурации.

Я думаю, все должны посмотреть это видео, прежде чем выбирать CC.NET или TeamCity.

p.s .: Я надеюсь, что в сети тоже есть ценное видео CC.NET.

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

В настоящее время я использую TeamCity в проекте, и я в целом доволен им, но многие из генерируемых им графиков не особенно полезны, и его сложнее настроить, чем Хадсон.

Тем не менее, TeamCity является мощным, бесплатным для многих целей и имеет одну особенность: удаленный запуск. Вы можете «предварительно зафиксировать» проверьте прямо из IDEA или Eclipse, запустите одну или несколько конфигураций сборки на сервере TeamCity и зафиксируйте изменения только в случае успешной сборки (например, при компиляции и прохождении всех тестов).

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

Я успешно использовал их в разных проектах. С точки зрения настройки и администрирования, с Team City гораздо проще иметь дело. Вам не нужно взламывать файлы .config, как вы делаете с CC, и установка очень проста. Поскольку у вас не так много проектов, я бы рекомендовал Team City вместо CC, пока вы не дойдете до того, что Team City стоит $$.

Я использовал и CC.net, и TeamCity. Мне поручено настроить и установить TeamCity для моей организации (5 разработчиков). Наша организация использует некоторые необычные методы и инструменты (по крайней мере, для организаций нашего размера), такие как Perforce для управления исходным кодом и несколько агентов сборки, работающих в гетерогенных операционных системах, что вызвало некоторые начальные головные боли при установке. Тем не менее, поддержка по электронной почте была абсолютно первоклассной в настройке всего. Я получил ответы на мои глупые вопросы буквально за минуты.

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

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

Я настоятельно рекомендую TeamCity всем, кто ищет сервер непрерывной интеграции или любой сервер сборки.

Не желая бросать в вас альтернативные инструменты :-)

Hudson - отличная альтернатива с открытым исходным кодом, я использовал CC и CC.net, и, признаюсь, считаю, что это фантастические инструменты. Я задумываюсь над тем, чтобы перейти на Hudson, так как он намного проще в настройке и обслуживании.

https://hudson.dev.java.net/

Убедитесь, что выбранная вами система масштабируется до количества проектов, которые вам понадобятся для ее обработки ...

Я использую CruiseControl.Net, но я бы не рекомендовал его для создания большого количества проектов ... У меня есть (возможно, немного странная) схема, в которой у меня есть много статических библиотек C ++, которые я собираю в приложения. Каждая библиотека зависит от других библиотек, и приложения получают набор библиотек и сборок. У каждой библиотеки есть набор тестов. Каждое приложение имеет набор тестов. Я строю для 5 компиляторов и вариаций (Windows) платформ.

Первое, что я обнаружил, было то, что триггеры проекта CC.Net не совсем то, что вам нужно, и мульти-триггер не очень хорошо работает с триггерами проекта. Способ работы триггеров проекта (они используют удаленное взаимодействие для подключения к серверу, на котором хранится проект (даже если это проект, управляемый тем же экземпляром CC.Net), а затем извлекают все проекты с этого сервера и выполняют последовательный поиск в списке. поиск проекта, который вас интересует ...) означает, что они плохо масштабируются. Как только вы превысите определенное количество проектов, вы обнаружите, что CC.Net берет большую часть ЦП для вашего компьютера сборки.

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

Подробнее об имеющихся у меня проблемах и некоторых исправлениях для CC.Net см. здесь http://www.lenholgate.com/archives/cat_ccnet.html

Я недавно установил cc .net. Это отличное приложение, но требует немного терпения. Вы будете редактировать конфигурационные файлы в блокноте много :)

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

Я не использовал TeamCity, но слышал немало рекомендаций, и это выглядит красиво.

У меня был опыт настройки и запуска CruiseControl (версия Java) для Linux во время моей предыдущей компании. Как и большинство людей предполагают, это не самая простая вещь для настройки. Вы должны понимать его структуру, чтобы придумать работоспособный / управляемый конфиг. Однако, после того, как вы преодолели этот горб, я чувствую, что CruiseControl достаточно гибок, чтобы позволить вам делать разные вещи для разных сценариев.

Кроме того, документация CruiseControl, ее вики-страница также содержат некоторую полезную информацию. .

У меня нет прямого опыта работы с TeamCity. Хотя его функция фиксации перед тестированием выглядит достаточно интересной.

Другой инструмент CC, который вы могли бы взглянуть на него, - Bamboo от Atlassian. Это намного проще в настройке, и интерфейс приятнее. Хотя он не такой гибкий, как CruiseControl.

Третий вариант, который вы можете рассмотреть: Thoughtworks 'Cruise. Он построен на CruiseControl, но предлагает гораздо больше функций, упрощает настройку и т. Д. И т. Д. Не является бесплатным (или с открытым исходным кодом).

http://studios.thoughtworks.com/cruise-continuous-integration

Я пользуюсь Teamcity последние полтора года, и у меня большой опыт. Я интегрировал несколько проектов .Net и Java и использовал такие инструменты, как MSBuild, Maven и т. Д. Я обнаружил, что Teamcity довольно прост в настройке и работе. Мне удалось запустить CI для некоторых проектов sql, что было кошмаром, что могло быть хуже с другими инструментами CI.
Недавно обновленный до Teamcity 8.0.6, который был безболезненным. Также Teamcity предоставляет REST API , который очень полезен для некоторых сценариев. Если вы используете powershell для автоматизации сборок, несколько сценариев интеграции Psake / Teamcity доступны по адресу GitHub

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