Моя компания рассматривает возможность изменения серверов непрерывной интеграции (я не скажу, какой из них у нас сейчас есть, поэтому я все равно не буду искажать ваши ответы :)). Интересно, есть ли у кого-нибудь рекомендации? Лучший пользовательский интерфейс, уровень сложности в обслуживании и т. д.
Наш код полностью написан на java, и мы используем ANT в качестве инструмента сборки.




Мы используем Круиз-контроль. В нем есть все необходимые функции, и его довольно легко настроить. Интеграция с ANT и SVN в порядке.
Против: время от времени нам приходится перезапускать процесс или машину, поскольку она перестает отправлять сообщения для ночной сборки. Не знаю, о чем это, но это просто раздражает.
Я тоже видел такую нестабильность с CC. Это одна из причин, по которой моя компания перешла на Luntbuild.
Я обнаружил, что как с CC, так и с Hudson, если вы отметите (выберите) текст в окне cmd, инструменты могут быть заблокированы при записи их вывода и, похоже, остановятся.
Jetbrains TeamCity выглядел действительно хорошо, когда мы на него смотрели. Он основан на java, поэтому вашей команде должно быть легко расширяться, и он может выполнять распределенные сборки и т.д ... Есть бесплатная версия, которую вы можете оценить.
Уточнение - Jetbrains TeamCity Professional бесплатен до 20 конфигураций сборки. Без ограничения по времени, это не ознакомительная версия.
Недавно я реализовал сервер Hudson. Я очень доволен Hudson и очень впечатлен простотой его настройки и использования. ранее использовал круиз-контроль. Добавление новых проектов намного проще, чем это было с круиз-контролем.
Я работал в местах, где использовался круиз-контроль, и в других местах, где используется Hudson, и я бы никогда не хотел возвращаться к круиз-контролю. У него также есть хороший плагин NetBeans, и интеграция с тестированием была отличной.
Полностью согласен. Я установил и сервер CruiseControl, и недавно сервер Hudson на работе, и CruiseControl потребовал гораздо большего обслуживания. С Hudson приятно работать, к тому же для него есть много хороших плагинов (например, для Cobertura, Emma, FindBugs, CPD и т. д.).
Плагины были очень приятным сюрпризом, когда я установил Hudson!
Еще один голос за Хадсона.
+ Хадсон. Круиз-контроль - это боль, Хадсон дружелюбный.
Hudson чрезвычайно прост в установке, настройке и обслуживании. Мы используем его для сборок муравьев и мавенов.
Хадсон болен. Я только что установил его сегодня, и он продолжает поражать меня - вы можете устанавливать плагины через веб-интерфейс, а hudson (который является просто WAR) знает, как их загрузить и установить сам? Так чокнутые.
Если бы только электронные письма Хадсона о сломанных сборках были такими же информативными, как письма, отправленные CruiseControl. Это единственное, чего мне не хватает в CC. Вот хорошее введение в Хадсон: blog.uncommons.org/2008/05/09/…
Одна вещь, которую мне не хватает в Hudson (или, может быть, я просто не могу ее правильно настроить?), - это сообщать о каждом сбое, но только о первом успехе (чтобы я знал, когда сборка исправлена).
@ Джо, ваша стратегия резервного копирования для Хадсона оказалась успешной? Я очень устал от того, что создание нового экземпляра Hudson из резервных копий без резервного копирования всей рабочей области является нетривиальной задачей.
Если кто-то пропустил это, Hudson был разветвлен / переименован в Дженкинс его первоначальными разработчиками. Вам теперь лучше всего с Дженкинс, поскольку этот вопрос, вероятно, убедит вас.
Мы использовали круиз-контроль с достойными результатами. С тех пор мы начали использовать Maven в качестве инструмента сборки во всех наших проектах. С этим последовал переезд в Хадсон для CI, что очень приятно. Если вы думаете, что переход на Maven может быть в вашем будущем, я бы порекомендовал это. Я думаю, что Hudson можно даже использовать для вызова задач Ant, хотя оболочка Maven может быть в порядке.
Thoughtworks Морское путешествие является коммерческим потомком проекта с открытым исходным кодом Круиз-контроль. Выглядит очень красиво, много функций, распределенных сборок и т. д. Я не знаю, что это за расширяемость.
Этот продукт был переименован в Go и имеет как бесплатную, так и коммерческую версию для сообщества, см. thinkworks-studios.com/go-agile-release-management. Сам никогда не пользовался.
Atlassian Бамбук выглядит неплохо, но у меня нет опыта работы с ним. По функциям похож на Морское путешествие или TeamCity.
Bamboo не так уж и плох (хотя я полагаю, что все было бы «неплохо», если бы вашим первым инструментом CI был CruiseControl ...). Он едва ли способен обрабатывать большое количество проектов (скажем, более 200), но он становится лучше в этом.
Бамбук отлично работает; если у вас есть наличные, я бы рекомендовал это. Круиз-контроль стоит своей цены; Мне никогда не удавалось заставить его надежно обнаружить, что исходные изменения были внесены и построены, и я не мог заставить его собрать вручную. Интерфейс и конфигурация ужасно сложны.
Обновлено: сейчас мы используем Hudson.
Некоторое время назад я рассмотрел несколько из них со следующими требованиями:
Матрица функций непрерывной интеграции - отличное место для начала.
В итоге я выбрал AnthillPro и успешно его использую, просто коснувшись поверхности того, что мы можем и надеемся использовать.
РАСКРЫТИЕ: Эта матрица была написана людьми из круиз-контроля.
Спасибо за размещение ссылки на матрицу CI - отличный ресурс, даже несмотря на то, что он создан специалистами по круиз-контролю.
На самом деле это не так: stackoverflow.com/questions/140453/…
+1 за ссылку на матрицу. Я использую его каждый раз, когда возвращаюсь к этому вопросу.
Мы использовали Hudson, а затем перешли на AHP, поскольку он поддерживает развертывание. Это определенно сложнее, чем Hudson, но также намного более гибкое и настраиваемое.
Я использую Континуум для своего сервера непрерывной интеграции. Нет никакой другой причины, кроме того, что я собирался нанять менеджера по развитию, который использовал его на последнем задании, так что казалось логичным выбрать то, с чем хотя бы один из нас имел опыт.
Перед тем, как выбрать Continuum, я попросил одного младшего разработчика потратить две недели на то, чтобы запустить CruiseControl. Однако у нас есть Continuum 1.0 для запуска в первую очередь.
Организация, которой я управляю (openqa.org), в то или иное время использовала почти все из них. Что касается простоты настройки, выберите TeamCity или Bamboo. Но с точки зрения общей надежности вы можете посмотреть на Hudson. Мне В самом деле нравится JetBrains, но мы обнаружили, что TeamCity через некоторое время попадает в странные состояния, из-за чего наши сборки были очень ненадежными. Жаль, раз уж я люблю IDEA!
У меня не было ничего необычного в TeamCity с версии 3. Но, возможно, мои сборки слишком малы.
как обычно в мире Java, есть мир с открытым исходным кодом и мир коммерции.
Мы уже видели довольно хорошее освещение различных предложений.
Хадсон: Я не знаю ни одного другого предложения сервера Java, которое можно было бы так легко оценить. java -jar hudson.war - разве это может быть проще? Вы можете использовать его НЕ только в Windows, вы можете использовать его на всех обычных платформах Java. Поддерживаются Ant, Maven и множество других платформ сборки.
Лучшее в Hudson - это возможность расширения. Он развивается почти непрерывно. Вы просите функцию, и это не займет много времени.
Обычно я не люблю казаться фанатом, но это приложение / разработчик / сообщество меня впечатляет.
BR,
~ А
Мы использовали Студия автоматизированной сборки и нам это очень понравилось. Это приложение для Windows, поэтому вы застряли на сервере сборки Windows, но с другой стороны, его очень легко настроить, поддерживать и использовать. Вы строите свой процесс из компонентов, щелкая мышью, и можете использовать сценарии, если ни один из компонентов не соответствует вашим потребностям.
Мы используем Зутуби Пульс, и он нам отлично подходит. Муравей очень прост в использовании и имеет множество дополнительных функций.
Я тоже изучал это, и хотя изначально я смотрел на CruiseControl, я слышал хорошие отзывы о Hudson и решил попробовать. Я совершенно поражен тем, насколько легко было начать работу (просто скачайте и запустите), а настройка выполняется через графический интерфейс, поэтому с файлами конфигурации XML не нужно возиться.
Через несколько минут я выполнил свою первую сборку Ant. Теперь он работает как служба Windows на сервере, который доступен 24/7 как в офисе, так и через VPN. Обновление так же просто, как загрузка нового файла войны и перезапуск.
Поддержка отчетов junit прямо из коробки. Установка дополнительных плагинов также очень проста, и я добавил плагины для Trac, Cobertura, FindBugs и PMD. Качество кода и тестирования повышается, так как очень приятно видеть, как растут графики трендов!
Теперь я использую его для управления всеми своими сборками для тестовых и производственных сред. Поскольку я управляю несколькими веб-приложениями, это дает мне больше времени на собственное программирование. Честно говоря, не могу вспомнить, как я обходился без него.
Как и некоторые другие люди здесь, я В самом деле люблю Hudson.
Его очень легко установить (это просто военный файл для развертывания), настроить и использовать. Кроме того, он предлагает множество функций, которые не всегда доступны в других системах (матрица сборки, ведущие и ведомые устройства, безопасность на уровне сервера или проекта ...)
Количество существующих плагины сейчас очень важно, и создать собственный плагин не так уж и сложно ...
В конце концов, это приложение развивается очень быстро: в настоящее время мы находимся на 257-м выпуске, и они сделали более 100 выпусков за год!
Для французов я написал довольно полное руководство по использованию Hudson здесь.
Если вы используете программное обеспечение Atlassian для персонала (например, Jira, Clover и т. д.), Bamboo - ваш путь.
Мы пользуемся им пару месяцев, и я могу рекомендовать его. Стоит своих денег.
Бамбук, безусловно, работает для нас в нашем магазине Atlassian. Однако, если вы когда-нибудь пойдете по пути Maven, обратите внимание, что у Hudson есть некоторая магия, в которой Bamboo все еще нет (jira.atlassian.com/browse/BAM-230).
Мы еще на муравье. Так что это не наш случай. Другая проблема, с которой мы столкнулись с bamboo: он все еще не на 100% совместим с SVN 1.5 (не может работать с шифрованием SASL).
Мы используем StarTeam и между Hudson и CruiseControl.NET, CC.NET имеет некоторые ошибки при интеграции со StarTeam. Кажется, он не распознает рабочую область, которую мы определяем в файлах конфигурации.
Несколько слов о Матрица функций непрерывной интеграции: он не был собран сотрудниками CruiseControl, это был запущен на CodeHaus проектом DamageControl и перемещен в вики CruiseControl, когда DamageControl перешел в спящий режим. Информация в основном поддерживается владельцами проекта / продукта или их поклонниками.
В прошлом году на конференции в США я впервые услышал о Cruise Control .net на часовой презентации, по дороге домой на равнине я решил реализовать небольшой POC для нашей компании и успешно сделал это менее чем за 5 часов ( включая все обучение, которое я мог бы сделать).
Я использую его с тех пор и должен сказать, что очень доволен результатами и простотой эксплуатации, Есть некоторый недостаток (например, отсутствие распределения задач по масштабам серверов, хотя вы можете контролировать несколько серверов). Я обнаружил ошибку в одной из реализаций, и, поскольку это открытый исходный код, я мог бы исправить ее очень быстро (большое преимущество) - я создал небольшой [проект] [1] в codeplex, чтобы содержать свои исправления, прежде чем я внесу их в сообщество в качестве проверки. Я настоятельно рекомендую вам взглянуть на эту платформу, также было бы неплохо, если бы вы могли сказать, что вам действительно нужно.
[1]: проект http://www.codeplex.com/DavidovitzCCE
Думаю, я первым упомяну Luntbuild. Помимо не слишком запоминающегося названия, это CI-сервер большой.
Проверьте Живая демонстрация. аккаунт / пароль демо / демо
Примечание. Живая демонстрация вышла несколькими релизами назад.
Я слышал, что недостатком является отсутствие поддержки модульного тестирования. См. Здесь: stackoverflow.com/questions/672/… Интересно, сталкивались ли вы с той же проблемой?
Я не сталкивался с такой же проблемой. Например, ANT может выполнять модульные тесты, и есть много доступных анализаторов модульных тестов, которые имеют задачи ANT. Затем Lunt может вызвать любую из этих целей ANT в проекте Lunt. Однако я согласен с тем, что выражения OGNL для синтаксического анализа результатов могут быть сложными. Лично я редко в этом нуждался.
Я доволен бамбук. Я просмотрел несколько бесплатных решений, прежде чем остановиться на нем.
Из немногих, что я использовал, Buildbot выделяется как самый мощный и гибкий. Однако это не самое красивое, если для вас это имеет значение.
Я управлял как Bamboo, так и Hudson, и я бы порекомендовал Hudson.
Они оба хороши, но Hudson имеет лучшую поддержку отчетов, например, публикация отчетов о покрытии и т. д. Внутри Hudson намного проще.
Это, вероятно, изменится в ближайшем будущем, но, несмотря на интеграцию Bamboo с JIRA и т. д. И его статистику, Hudson для простоты использования и сторонней поддержки лучше, независимо от суммы в долларах (это бесплатно, Bamboo - нет) .
Если вы не полностью продаетесь на Гудзоне, тест-драйв в один клик должен изменить ваше мнение.
Нажмите ниже:
https://hudson.dev.java.net/hudson.jnlp
Это запустит Hudson через Java Web Start для тест-драйва. После запуска посетите http: // локальный: 8080 /, чтобы перейти на панель управления. Любая конфигурация, которую вы делаете с этим Hudson, будет храниться в ~ / .hudson, поэтому ваши данные сохранятся после перезапуска процесса Hudson.
Если вы используете довольно стандартные инструменты, такие как svn и ant / maven, сборка должна быть выполнена за 5 минут. Различные инструменты, и это может занять 20 минут!
См. Введение здесь:
Мы тоже используем Hudson, и если бы не рецессия, мы, вероятно, использовали бы Bamboo и большинство продуктов Atlassian (Bamboo, Crucible, Confluence) вместе с JIRA.
Итак, вы считаете Bamboo лучше, чем Hudson - не могли бы вы пояснить, почему? (Не все согласны: stackoverflow.com/questions/140453/…)
CruiseControl.NET намного эффективнее в Windows, чем оригинальная версия на основе Java. Особенно, когда выделенный сервер сборки еще не доступен.
Намного эффективнее, чем что?
Затем оригинальный Java CruiseControl. Исправлю ответ.
Ознакомьтесь с нашим Парабилд. По сравнению с бесплатными инструментами, его очень легко настроить, а накладные расходы на обслуживание близки к нулю. это не бесплатно, но вы получаете то, за что платите.
Почему бы вам не использовать размещенную службу CI, тогда вам не нужно беспокоиться об обслуживании, затратах и т. Д.
MikeCI - это размещенная служба CI, который размещает ваши сборки в Amazon EC2, и всего за 10 долларов в месяц это чертовски дешевле, чем обслуживание собственного CI-сервера.
Попробуй.
Учтите, что в этом случае вы передадите свое программное обеспечение третьему лицу. Возможно, вам не позволят это сделать. И даже если вам позволят, я бы прилично выглядела, если это действительно того стоит. Передавать свое программное обеспечение третьему лицу - это действительно плохо, и большую часть времени вы этого не хотите. Не для того, чтобы сэкономить всего несколько долларов. Когда это не предназначено для использования с открытым исходным кодом, в большинстве случаев я не хочу передавать программное обеспечение третьему лицу, которое стоит мне тысячи долларов.
Рассмотрим бесплатную размещенную службу CI по адресу fazend.com. Он поддерживает ant.
Вы можете также посмотреть на это
http://www.gotitworks-studios.com/solutions/deployment-managementтекст ссылки
Решение ThoughtWorks по управлению развертыванием сочетает в себе возможности Twist (гибкое тестирование) и Go (управление выпусками).
да, я тоже испытал подобное с круиз-контролем. Я перешел в Гудзон. Все идет нормально.