持续集成Ruby on Rails? [英] Continuous Integration for Ruby on Rails?

查看:144
本文介绍了持续集成Ruby on Rails?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在寻找Ruby on Rails的持续集成解决方案,但对结果并不满意。我来自一个.NET商店使用CruiseControl.NET,并且它的易用性和丰富的状态/报告真的被宠坏了。



理想情况下,我在寻找: / p>


  • 显而易见的Git / SVN和Test :: Unit
    集成


  • 集成Rake和/或
    Capistrano


  • 显示构建状态的Web界面


  • 桌面通知(可能
    通过Growl)


  • REST API的构建状态


  • 用于运行其他代码分析工具和报告结果



解决方案

并且认为我会在2011年年底之前将它们推出。



诚信< a>



死亡经历之后,仍然连结到网站中添加了过时的信息并关闭了演示网站,此项目再次出现了火花。但文档并没有继续,教程中的很多很多步骤都是简单的;我不得不改变对宝石的引用,建立一些带外的东西,然后我仍然无法使它工作



Cruise Control.rb



死的简单:您只是下载它,运行命令行添加您的项目(有没有UI 这样做),并运行Rails应用程序。但是没有用于编辑项目的UI,除了显示指向它们的链接外,还有没有与构建工件真正集成:您没有运行测试的图形,没有趋势线等。我也有调整 routes.rb 文件以获取代码链接工作( resources:projects 行需要移动其他非默认路线)。



TeamCity



看起来很棒,但薪水表似乎没有。 3代理免费,然后当你依靠你需要打出几百美元。 个人建筑看起来不错,但没有预算



Jenkins (née Hudson



这是一个Java stalwart,它加载了一千个选项,因此 UI很混乱,这是一个设置您的项目。但是一旦你设置它,你会得到一个很多插件,可以从大多数地方拉,运行大多数任何东西,并报告大部分的一切。 OS X安装程序将Jenkins指向 / Users / Shared / Jenkins / Home ,但无法创建该目录或 chown 守护程序(默认情况下使用它,并且您应该更改为新的 jenkins 用户,以便可以设置GitHub整合)。



其他



我没有真的尝试这些,




  • CI Joe 想拥有GitHub repo比我想要的,它的创建者甚至没有使用它;

  • Cerberus 似乎很小,但没有用户界面和

  • BigTuna 似乎是一个CruiseControl.rb克隆,但没有(已经很少)社区支持。

  • Bamboo 真的很整洁,如果你使用JIRA和BitBucket,但我们不使用。



选择



我们使用 Jenkins ,但我真的希望其中一个重量更轻的解决方案能够实现。


I've been searching around for a Continuous Integration solution for Ruby on Rails, but haven't been too pleased with the results. I came from a .NET shop that used CruiseControl.NET and was really spoiled with its ease of use and rich status/reporting.

Ideally I'm looking for:

  • The obvious Git/SVN and Test::Unit integration

  • Integration with Rake and/or Capistrano

  • A web interface showing the status of the build

  • Email notification of failed builds.

  • Desktop notification (potentially through Growl)

  • REST API for build statuses

  • Plugin framework for running other code analysis tools and reporting results in the UI

解决方案

I just went through the options here and thought I'd roll them up as of late 2011.

Integrity

After a near-death experience that left the still-linked-to website with outdated information and downed the demo site, this project has a spark of life again. But the documentation hasn't moved on, and lots and lots of the steps in the tutorial are just plain broken; I had to change references to gems, build some things out of band, and then I still couldn't get it working.

Cruise Control.rb

Dead simple: you just download it, run a command line to add your project (there is no UI for doing so), and run the Rails app. But there's no UI for editing your project, either, and there's no real integration with build artifacts aside from displaying links to them: you get no graphs of tests run, no trend lines, etc. I also had to adjust the routes.rb file to get the code linking working (the resources :projects line needs to move below all the other non-default routes).

TeamCity

This looks awesome, but the pay scale seems out of whack. 3 agents free and then when you're dependent you need to dole out hundreds of dollars. Personal Builds looks great, but don't have the budget.

Jenkins (née Hudson)

This is a Java stalwart and it is loaded up with a thousand options, so the UI is confusing and it's a chore to set up your projects. But once you set it up you get a whole lot of plugins that can pull from most anywhere, run most anything, and report most everything. The OS X Installer points Jenkins at /Users/Shared/Jenkins/Home but fails to create that directory or chown it to daemon (which is uses by default, and you should change to a new jenkins user so you can set up GitHub integration).

Others

I didn't really try these, but thought I'd mention why:

  • CI Joe wants to own the GitHub repo more than I want it, and its creators aren't even using it; they're on Jenkins.
  • Cerberus seems neatly small but doesn't have a UI and doesn't automatically publish build artifacts where others can see them.
  • BigTuna seems to be a CruiseControl.rb clone without the (already minimal) community support.
  • Bamboo looks really neat if you use JIRA and BitBucket, but we use neither. It does deploys but we already have those set up in Capistrano.

The Choice

We went with Jenkins, but I really wish one of the lighter-weight solutions had worked out.

这篇关于持续集成Ruby on Rails?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆