Серверы непрерывной интеграции

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

Наш код все в java, и мы используем ANT как инструмент сборки.

Ответ 1

Недавно я реализовал сервер Hudson. Ранее использовав Cruise Control, , я очень доволен Хадсоном и очень впечатлен его легкостью настройки и использования. Добавление новых проектов бесконечно проще, чем с Cruise Control.

Ответ 2

Изменить: теперь мы используем Хадсон.

Некоторое время назад я рассмотрел их ряд следующих требований:

  • Код Java
  • Ant строит
  • Groovy строит
  • Распределенные сборки
  • Интеграция триггеров SCM
  • http reports
  • сообщения smtp

Матрица характеристик непрерывной интеграции - отличное место для начала.

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

Ответ 3

Jetbrains TeamCity выглядели очень хорошо, когда мы смотрели на него. Это java-based, поэтому для вашей команды должно быть легко, и вы можете делать распределенные сборки и т.д. Там есть версия для халявы, которую вы можете оценить.

Ответ 4

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

В течение нескольких минут я выполнил свою первую конструкцию Ant. Теперь у меня он работает как служба Windows на сервере, который доступен 24/7 как в офисе, так и через VPN. Обновление так же просто, как загрузить новый файл войны и перезапустить.

Поддержка отчетов junit не входит в стоимость. Установка дополнительных плагинов также очень проста, и я добавил плагины для Trac, Cobertura, FindBugs и PMD. Кодекс и качество теста растет, так как очень приятно видеть графики трендов!

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

Ответ 5

Atlassian Bamboo выглядит неплохо, но у меня нет опыта с ним. Похоже на то, что он похож на функции Cruise или TeamCity.

Ответ 6

Как и некоторые другие люди, я действительно люблю Hudson.

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

Число существующих plugins сейчас очень важно, и создание собственного плагина не так уж сложно...

Чтобы закончить, это приложение развивается очень быстро: в настоящее время мы находимся на 257-м релизе, и они выпускали более 100 выпусков с одного года!

Для французских людей я написал довольно полное руководство по использованию Hudson здесь.

Ответ 7

Если вы используете программное обеспечение Atlassian для персонала (например, Jira, Clover и т.д.) Bamboo - это ваш путь.

Мы используем его пару месяцев, и я могу порекомендовать его. Он стоит своих денег.

Ответ 8

Если вы не полностью проданы на Hudson, тестовый диск с одним кликом должен передумать.

Нажмите ниже:

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

Это запустит Hudson через Java Web Start для тестового диска. После того, как он запускается, перейдите на http://localhost:8080/, чтобы перейти на панель инструментов. Любая конфигурация, которую вы делаете с этим Hudson, будет храниться в ~/.hudson, поэтому ваши данные будут выживать при перезапуске процесса Hudson.

Если вы используете довольно стандартные инструменты, такие как svn и ant/maven, вы должны создать и запустить за 5 минут. Различные инструменты, и это может занять 20 минут!

Смотрите введение здесь:

http://wiki.hudson-ci.org/display/HUDSON/Meet+Hudson

Ответ 9

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

Ответ 10

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

Con: время от времени мы должны перезапустить процесс или машину, поскольку он перестает отправлять сообщения для ночной сборки. Не уверен, что это такое, но это просто раздражает.

Ответ 11

как обычно, в мире Java, есть мир с открытым исходным кодом и коммерческий мир.

Мы уже видели довольно хорошее освещение различных предложений.

Хадсон: Я не знаю ни одного другого предложения Java-сервера, которое так же легко оценить. java -jar hudson.war - как легко это может получиться? Не только вы можете использовать его на окнах, вы можете использовать его на всех обычных платформах Java. Ant, Maven и множество других платформ сборки.

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

Мне обычно не нравится звучать как фанат, но это приложение/разработчик/сообщество наверняка впечатляет меня.

BR,
~ А

Ответ 12

Просто слово в Матрица характеристик непрерывной интеграции: она не была собрана людьми CruiseControl, она была запущен в CodeHaus проектом DamageControl и перешел в вики CruiseControl, когда DamageControl перешел в спящий режим. Информация в основном поддерживается владельцами проекта/продукта или их поклонниками.

Ответ 13

Я предполагаю, что буду первым упомянуть Luntbuild. Помимо менее узнаваемого имени, он является большим CI-сервером.

  • Супер прост в настройке.
  • Веб-интерфейс для создания/управления вашими проектами и пользователями.
  • Поддержка LOTS систем управления версиями (я использовал его с CVS, SVN и StarTeam)
  • Довольно гладкий удаленный API
  • Относительно высокая степень детализации для контроля доступа (чтобы вы могли предоставить клиентам доступ только к своим сборкам, а не к сборкам клиентов)
  • и многое другое.

Просмотрите демо-версию. демо/демо-версия учетной записи/пароля

Примечание. Живая демонстрация - это несколько выпусков.

Ответ 14

Я доволен bamboo. Я рассмотрел ряд бесплатных решений, прежде чем уладить это.

Ответ 15

Мы использовали Cruise Control с достойными результатами. С тех пор мы начали использовать Maven для инструмента построения во всех наших проектах. С этим последовал переход к Хадсону для CI, который очень приятный. Если вы думаете, что переход к Maven может быть в вашем будущем, я бы рекомендовал его. Я думаю, что Хадсон может даже использоваться для вызова задач Ant, хотя оболочка Maven может быть в порядке.

http://hudson-ci.org/

Ответ 16

Thoughtworks Cruise является коммерческим потомком CruiseControl с открытым исходным кодом. Выглядит очень красиво, много функций, распределенных сборок и т.д. Я не знаю, что такое расширяемость.

Ответ 17

Я запускаю org (openqa.org), когда-то использовал их почти все. С точки зрения простой настройки, зайдите в TeamCity или Bamboo. Но с точки зрения общей надежности вы можете взглянуть на Хадсона. Мне очень нравится JetBrains, но мы обнаружили, что TeamCity некоторое время попадает в странные состояния, в результате чего наши сборки очень ненадежны. Жаль, потому что я люблю IDEA!

Ответ 18

Мы использовали Automated Build Studio и были очень довольны этим. Это приложение для Windows, поэтому вы застряли на сервере сборки Windows, но на плюсе его очень легко настроить, поддерживать и использовать. Вы создаете свой процесс из компонентов через точку и клик и можете использовать скрипты, если ни один из компонентов не отвечает вашим потребностям.

Ответ 19

Из тех немногих, что я использовал, Buildbot выделяется как самый мощный и гибкий. Это не самое красивое, хотя, если это имеет значение для вас.

Ответ 20

Я управлял Bamboo и Hudson, и я бы рекомендовал Hudson.

Они оба великолепны, но Хадсон имеет лучшую поддержку отчетов, например, публикация отчетов о вашем освещении и т.д. намного проще в Хадсоне.

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

Ответ 21

Мы также используем Хадсон, и если бы не спад, мы бы, вероятно, использовали Bamboo и большинство атласских продуктов (Bamboo, Crucible, Confluence) вместе с JIRA.

Ответ 22

Я использую Continuum для моего сервера непрерывной интеграции. Нет причин, кроме того, что я собирался нанять менеджера по развитию, который использовал его в своем последнем задании, поэтому, казалось, было разумно выбрать что-то, по крайней мере, у одного из нас был опыт.

До выбора Continuum у меня был младший разработчик, который потратил две недели на то, чтобы пройти CruiseControl. Тем не менее, мы получили Continuum 1.0 для запуска в первую очередь.

Ответ 23

Мы используем Zutubi Pulse, и он отлично работает для нас. Он очень прост в использовании. ant имеет множество дополнительных функций.

Ответ 24

Мы используем StarTeam и между Hudson и CruiseControl.NET, у CC.NET есть некоторые ошибки при интеграции с StarTeam. Кажется, он не распознает рабочее пространство, которое мы определяем в файлах конфигурации.

Ответ 25

В прошлом году на конференции в США я впервые услышал о Cruise Control.net на 1-часовом представлении, по дороге домой на равнине, я решил реализовать небольшую POC для нашей компании и succcesfuly сделал это менее чем 5 часов (включая все обучение, которое я мог бы сделать).

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

[1]: http://www.codeplex.com/DavidovitzCCE project

Ответ 26

CruiseControl.NET намного эффективнее на ящиках Windows, чем на оригинальной Java. Особенно, когда выделенный сервер сборки еще не доступен.

Ответ 27

Ознакомьтесь с нашим Parabuild. По сравнению с бесплатными инструментами его очень легко настроить, а его служебные расходы на обслуживание близки к нулю. это не бесплатно, но вы получаете то, за что платите.

Ответ 28

Почему бы вам не использовать размещенную службу CI, тогда вам не нужно беспокоиться об обслуживании, затратах и ​​т.д.

MikeCI - это размещенный сервис CI, который размещает ваши сборки в Amazon EC2 и всего за 10 долларов в месяц - это намного дешевле, чем поддерживая ваш собственный сервер CI.

Отдайте это.

Ответ 29

Рассмотрим бесплатную размещенную службу CI на fazend.com. Он поддерживает ant.

Ответ 30

Вы также можете посмотреть на него.

http://www.thoughtworks-studios.com/solutions/deployment-management текст ссылки

ThoughtWorks Deployment Management Solution сочетает в себе мощь Twist (гибкое тестирование) с Go (управление выпуском).

  • Twist отражает требования к проверено непосредственно от бизнес-пользователей
    а затем поддерживает их автоматизацию как долгосрочные тесты, которые выражение.
  • Go помогает развитию и Пресс-релиз процессов и развертывания программного обеспечения
    повторяемо и надежно.