Я искал решение для непрерывной интеграции для Ruby on Rails, но не слишком доволен результатами. Я пришел из магазина .NET, который использовал CruiseControl.NET и был действительно испорчен его простотой использования и богатым статусом / отчетностью.
В идеале я ищу:
Очевидная интеграция Git / SVN и Test :: Unit
Интеграция с Rake и / или Capistrano
Веб-интерфейс, показывающий статус сборки
Уведомление по электронной почте о неудачных сборках.
Уведомление на рабочем столе (возможно, через Growl)
REST API для статусов сборки
Платформа плагинов для запуска других инструментов анализа кода и создания отчетов о результатах в пользовательском интерфейсе
ruby-on-rails
ruby
continuous-integration
Джим Фиорато
источник
источник
Ответы:
Я просто просмотрел варианты и решил свернуть их с конца 2011 года.
целостность
После предсмертного опыта , который оставил еще связной на сайт с устаревшей информацией и сбитым демо - сайтом, этот проект имеет искру жизни снова. Но документация не продвинулась, и многие шаги в учебнике просто сломаны ; Мне пришлось изменить ссылки на драгоценные камни, создать некоторые вещи вне группы, и тогда я все еще не мог заставить это работать .
Круиз-контроль.рб
Все просто : вы просто скачиваете его, запускаете командную строку, чтобы добавить свой проект (для этого нет пользовательского интерфейса ), и запускаете приложение Rails. Но нет и пользовательского интерфейса для редактирования вашего проекта, и нет никакой реальной интеграции с артефактами сборки, кроме отображения ссылок на них: у вас нет графиков запуска тестов, линий тренда и т. Д. Мне также пришлось настроить
routes.rb
файл, чтобы получить работает связывание кода (resources :projects
линия должна двигаться ниже всех других маршрутов, отличных от заданных по умолчанию).TeamCity
Это выглядит потрясающе , но шкала заработной платы, кажется, не в порядке. 3 агента бесплатно, а затем, когда вы зависимы, вам нужно выдать сотни долларов. Personal Builds выглядит великолепно, но не имеет бюджета .
Дженкинс (урожденная Гудзон )
Это приверженец Java, и он загружен тысячами опций , поэтому пользовательский интерфейс сбивает с толку, и создавать свои проекты - непростая задача . Но как только вы настроите его, вы получите множество плагинов, которые могут извлекать практически из любого места, запускать практически все и сообщать о большинстве всего. Установщик OS X указывает на Jenkins,
/Users/Shared/Jenkins/Home
но не может создать этот каталог илиchown
его каталогdaemon
(который используется по умолчанию, и вам нужно перейти на новогоjenkins
пользователя, чтобы вы могли настроить интеграцию с GitHub).другие
Я действительно не пробовал это, но думал, что упомяну почему:
Выбор
Мы пошли с Дженкинсом , но мне бы очень хотелось, чтобы одно из облегченных решений сработало.
источник
Как насчет CruiseControl.rb ?
Та же самая толпа, которая сделала
CruiseControl
(продумал) и написала вRuby
. Очень прост в использованииRake
для интеграции других инструментов и может использовать гем ruby-growl для ваших уведомлений.источник
Вы также можете рассмотреть Хадсон . Он разработан для использования с проектами Java, хотя существует большой выбор плагинов, включая поддержку Ruby и Rake. Он имеет очень полезный веб-интерфейс и поддерживает уведомления по электронной почте, а также многие другие (такие как твиттер или лампы с гигантским медведем).
Сообщество также очень активно, и было несколько статей о подключении Hudson к Selenium, которые могут быть полезны для тестирования приложений Rails на стороне браузера.
Еще один взгляд на это Team City, который бесплатен для небольших проектов и команд (в том числе коммерческих). Мне очень нравится Team City, и я использовал его раньше для других проектов, но в настоящее время мы используем Mercurial для контроля версий, и поддержка Team City была слишком бета, когда мы рассматривали это.
Я переключился с CruiseControl.net на Team City и был совершенно шокирован этим улучшением. Я неравнодушен к Хадсону, хотя из-за его схожего набора функций и очень активного сообщества.
источник
Circle - это расширенный CI-сервис для Rails (и других веб-приложений). Из вашего списка он поддерживает следующее:
Джоэл и я провели некоторое время, болтая об этом на подкасте Stackoverflow - проверьте это !
(править) Отказ от ответственности: Пол Биггар основал круг, как он заявляет в своем профиле Stackoverflow
источник
Semaphore - это новое CI-приложение для Ruby и Rails. Он интегрируется с GitHub, не требует настройки и имеет простой пользовательский интерфейс.
источник
Обновлено февраль-2015
Codeship
На Drone.io не хватало разработки, поэтому я переключился на Codeship, и мне это очень нравится. Он активно развивается и совершенствуется, имеет отличный дизайн и очень быстрый. Кроме того, для нижнего уровня он фактически бесплатный (до 100 сборок в месяц), поэтому он оказался дешевле, чем Drone.io.
Оригинальный ответ
Drone.io
Я просто настраивал наше основное приложение Ruby on Rails с помощью http://drone.io/ . Был кусок пирога, и у него был отличный интерфейс. Я бы сказал, стоит проверить, если вы ищете простое, размещенное решение .
источник
Проверьте Tddium . Tddium поддерживает непрерывную интеграцию, развертывание и интерактивное тестирование приложений Ruby. Он предоставляет управляемую среду с поддержкой Selenium, Headless Webkit и Solr. Он содержит живые экземпляры Postgres, MySQL, Mongo и Redis. И он автоматически распараллеливает большие тестовые наборы.
источник
Travis CI стал популярным в мире рубинов: http://travis-ci.org/
источник
cruisecontrol.rb был бы тогда идеальным выбором.
http://cruisecontrolrb.thoughtworks.com/
источник
Как и многие люди, я был большим поклонником cruisecontrol.rb, но недавно переключил свои проекты на Integrity .
Легкий и простой в настройке (как cc.rb), но с более приятным интерфейсом.
источник
BigTuna - написан на Ruby, использует Rails и использует себя в качестве CI.
источник
Вы можете попробовать Codeship и посмотреть, работает ли он для вас (я один из основателей)
Непрерывная интеграция и развертывание на основе облака (со специальной поддержкой Heroku)
Первые четыре из ваших пунктов уже реализованы и отлично работают для ряда компаний
Мы также работаем над этими функциями:
источник
Никто здесь не упомянул Бамбук Атлассиана. Есть хорошая обучающая статья о Ruby on Rails CI с использованием Bamboo:
http://blogs.atlassian.com/news/2009/05/bamboo_customer_8.html
источник
Честность кажется отличным решением. Развертывание на heroku очень просто: http://elabs.se/blog/7-continuous-integration-testing-for-ruby-on-rails-with-integrity http://integrityapp.com
источник
Сделай сам. Напишите bash-скрипт для запуска тестов, а затем, если тесты пройдут, запустите процедуру развертывания. Нужны уведомления? Снимайте с себя текстовое сообщение об успехе / неудаче. Нужен планировщик? Cronjob. Это $ 0 / мес., И вы будете иметь представление о том, что вы делаете. Я не понимаю, как оплата кому-то 40 долларов в месяц поможет мне сделать это более эффективным способом.
Рассмотрим, к примеру: мое развертывание не выполняется из-за неправильно настроенного конвейера ресурсов (ресурсы не прекомпилируются). Это не будет отражено в модульных, функциональных, интеграционных, регрессионных или любых других тестах. Эта ошибка не будет обнаружена CI. Время, которое я потратил бы на написание сценария bash, вероятно, будет меньше, чем количество времени, которое я потратил бы на настройку среды CI, и я сэкономлю 40 долларов в месяц.
Джуууууст, бросая мои две копейки в обсуждение; )
источник
Run Code Run может быть то, что вам нужно.
Изменить: ссылка удалена, поскольку она больше не ссылается на бывший сайт Run Code Run.
источник
И затем, есть CI Джо :
Мы используем его ежедневно.
источник
Мне нравится только CI Joe, у меня были проблемы со всем остальным, CI Joe - это абсолютный минимум для выполнения работы, супер Agile и надежный. Источник в Гудзоне ужасен, и пользовательский интерфейс меня не привлекает.
источник
Я только что опубликовал очень простое приложение непрерывной интеграции для RubyOnRails + SVN / GIT. Может быть, вы должны попробовать это:
http://github.com/felipegiotto/Inotegration/tree/master
Я взял некоторые идеи инструментов измерения и тестирования и, попробовав некоторые инструменты CI и не любя никого из них, я решил создать свой собственный, без необходимости создавать большие файлы XML или любую другую конфигурацию. Просто так, как был создан Rails.
Если вам нравится, пожалуйста, отправьте мне свой отзыв ..
С уважением,
Фелипе Джотто.
источник
Запуск CI после каждого коммита кажется довольно дорогостоящим, если вы согласны с философией «часто совершать». Как насчет запуска простого cronjob каждые несколько часов и отправки результатов по электронной почте в список рассылки разработчиков?
источник
Я просто настроил Хадсон / Дженкинс для этого. Gem ci_reporter может помочь в форматировании вывода JUnit, что и ожидалось от Hudson, и у Hudson есть плагин Rails, так что я могу видеть покрытие rcov, отчеты о тестировании, статистику по rails и многое другое.
источник
Вам также следует рассмотреть возможность использования CloudMunch. Это обеспечивает платформу polyglot, позволяющую вам использовать разные языки как часть вашей кодовой базы с богатым набором метаданных сборки.
источник