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

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

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

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
78
0
21 002
30
Перейти к ответу Данный вопрос помечен как решенный

Ответы 30

Мы используем Круиз-контроль. В нем есть все необходимые функции, и его довольно легко настроить. Интеграция с ANT и SVN в порядке.

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

да, я тоже испытал подобное с круиз-контролем. Я перешел в Гудзон. Все идет нормально.

Chinnery 29.12.2008 23:11

Я тоже видел такую ​​нестабильность с CC. Это одна из причин, по которой моя компания перешла на Luntbuild.

pkaeding 10.07.2009 20:29

Я обнаружил, что как с CC, так и с Hudson, если вы отметите (выберите) текст в окне cmd, инструменты могут быть заблокированы при записи их вывода и, похоже, остановятся.

Greg Domjan 21.08.2009 03:38

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

Уточнение - Jetbrains TeamCity Professional бесплатен до 20 конфигураций сборки. Без ограничения по времени, это не ознакомительная версия.

Bevan 24.10.2008 12:43
Ответ принят как подходящий

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

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

18Rabbit 26.09.2008 22:15

Полностью согласен. Я установил и сервер CruiseControl, и недавно сервер Hudson на работе, и CruiseControl потребовал гораздо большего обслуживания. С Hudson приятно работать, к тому же для него есть много хороших плагинов (например, для Cobertura, Emma, ​​FindBugs, CPD и т. д.).

Tom De Leu 27.09.2008 23:22

Плагины были очень приятным сюрпризом, когда я установил Hudson!

Joe Skora 27.09.2008 23:38

Еще один голос за Хадсона.

Jack Leow 31.10.2008 04:42

+ Хадсон. Круиз-контроль - это боль, Хадсон дружелюбный.

mfx 05.11.2008 18:51

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

jon077 31.12.2008 00:11

Хадсон болен. Я только что установил его сегодня, и он продолжает поражать меня - вы можете устанавливать плагины через веб-интерфейс, а hudson (который является просто WAR) знает, как их загрузить и установить сам? Так чокнутые.

matt b 15.01.2009 00:42

Если бы только электронные письма Хадсона о сломанных сборках были такими же информативными, как письма, отправленные CruiseControl. Это единственное, чего мне не хватает в CC. Вот хорошее введение в Хадсон: blog.uncommons.org/2008/05/09/…

Jonik 20.01.2009 16:38

Одна вещь, которую мне не хватает в Hudson (или, может быть, я просто не могу ее правильно настроить?), - это сообщать о каждом сбое, но только о первом успехе (чтобы я знал, когда сборка исправлена).

Ivan Dubrov 22.06.2009 09:23

@ Джо, ваша стратегия резервного копирования для Хадсона оказалась успешной? Я очень устал от того, что создание нового экземпляра Hudson из резервных копий без резервного копирования всей рабочей области является нетривиальной задачей.

Thorbjørn Ravn Andersen 05.06.2011 16:08

Если кто-то пропустил это, Hudson был разветвлен / переименован в Дженкинс его первоначальными разработчиками. Вам теперь лучше всего с Дженкинс, поскольку этот вопрос, вероятно, убедит вас.

Jonik 24.06.2011 19:47

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

http://hudson-ci.org/

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

Этот продукт был переименован в Go и имеет как бесплатную, так и коммерческую версию для сообщества, см. thinkworks-studios.com/go-agile-release-management. Сам никогда не пользовался.

Andrew Swan 02.12.2010 01:20

Atlassian Бамбук выглядит неплохо, но у меня нет опыта работы с ним. По функциям похож на Морское путешествие или TeamCity.

Bamboo не так уж и плох (хотя я полагаю, что все было бы «неплохо», если бы вашим первым инструментом CI был CruiseControl ...). Он едва ли способен обрабатывать большое количество проектов (скажем, более 200), но он становится лучше в этом.

Roman Starkov 10.05.2009 18:05

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

Обновлено: сейчас мы используем Hudson.

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

  • Код Java
  • Муравей строит
  • Отличные сборки
  • Распределенные сборки
  • Интеграция триггеров SCM
  • http отчеты
  • smtp отчеты

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

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

РАСКРЫТИЕ: Эта матрица была написана людьми из круиз-контроля.

Pablo Fernandez 26.09.2008 20:27

Спасибо за размещение ссылки на матрицу CI - отличный ресурс, даже несмотря на то, что он создан специалистами по круиз-контролю.

Julie 30.10.2008 18:12

На самом деле это не так: stackoverflow.com/questions/140453/…

Jeffrey Fredrick 13.02.2009 21:37

+1 за ссылку на матрицу. Я использую его каждый раз, когда возвращаюсь к этому вопросу.

Jared 24.02.2009 19:27

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

Brian Kelly 28.10.2009 15:38

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

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

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

У меня не было ничего необычного в TeamCity с версии 3. Но, возможно, мои сборки слишком малы.

Steve McLeod 17.10.2008 17:28

как обычно в мире 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).

Brian Laframboise 28.01.2009 00:12

Мы еще на муравье. Так что это не наш случай. Другая проблема, с которой мы столкнулись с bamboo: он все еще не на 100% совместим с SVN 1.5 (не может работать с шифрованием SASL).

FoxyBOA 28.01.2009 09:14

Мы используем 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-сервер большой.

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

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

Примечание. Живая демонстрация вышла несколькими релизами назад.

Я слышал, что недостатком является отсутствие поддержки модульного тестирования. См. Здесь: stackoverflow.com/questions/672/… Интересно, сталкивались ли вы с той же проблемой?

sivabudh 15.04.2009 01:00

Я не сталкивался с такой же проблемой. Например, ANT может выполнять модульные тесты, и есть много доступных анализаторов модульных тестов, которые имеют задачи ANT. Затем Lunt может вызвать любую из этих целей ANT в проекте Lunt. Однако я согласен с тем, что выражения OGNL для синтаксического анализа результатов могут быть сложными. Лично я редко в этом нуждался.

Liggy 05.05.2009 17:50

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

Из немногих, что я использовал, 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 минут!

См. Введение здесь:

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

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

Итак, вы считаете Bamboo лучше, чем Hudson - не могли бы вы пояснить, почему? (Не все согласны: stackoverflow.com/questions/140453/…)

Jonik 21.06.2009 20:58

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

Намного эффективнее, чем что?

EFraim 18.10.2010 20:22

Затем оригинальный Java CruiseControl. Исправлю ответ.

Oleg Zhylin 21.12.2010 23:12

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

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

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

Попробуй.

Учтите, что в этом случае вы передадите свое программное обеспечение третьему лицу. Возможно, вам не позволят это сделать. И даже если вам позволят, я бы прилично выглядела, если это действительно того стоит. Передавать свое программное обеспечение третьему лицу - это действительно плохо, и большую часть времени вы этого не хотите. Не для того, чтобы сэкономить всего несколько долларов. Когда это не предназначено для использования с открытым исходным кодом, в большинстве случаев я не хочу передавать программное обеспечение третьему лицу, которое стоит мне тысячи долларов.

Fabian Barney 27.08.2012 16:03

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

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

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

Решение ThoughtWorks по управлению развертыванием сочетает в себе возможности Twist (гибкое тестирование) и Go (управление выпусками).

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

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