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

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

问题描述

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

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:

  • 显而易见的 Git/SVN 和 Test::Unit整合

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

与 Rake 和/或集成卡皮斯特拉诺

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

REST API for build statuses

用于在 UI 中运行其他代码分析工具和报告结果的插件框架

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

推荐答案

我刚刚浏览了这里的选项,并认为我会在 2011 年底将它们汇总.

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

濒死体验之后,仍然链接到 网站过时的信息并关闭了演示站点,这个项目再次焕发了生命的火花.但是文档并没有继续下去,而且很多很多教程中的步骤都被破坏了;我不得不更改对 gems 的引用,在带外构建一些东西,然后 我仍然无法让它工作.

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.

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

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).

看起来棒极了,但薪酬标准似乎不正常.3 个代理免费,然后当您依赖时,您需要发放数百美元.个人构建看起来不错,但没有预算.

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.

这是 Java 的忠实拥护者,它加载了上千个选项,所以 UI 令人困惑,而且设置项目很麻烦.但是,一旦您设置好它,您就会得到大量的插件,它们可以从大多数地方提取、运行几乎所有内容并报告几乎所有内容.OS X 安装程序将 Jenkins 指向 /Users/Shared/Jenkins/Home 但未能创建该目录或 chown 将其 daemon (即默认情况下使用,您应该更改为新的 jenkins 用户,以便您可以设置 GitHub 集成).

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).

我并没有真正尝试过这些,但我想我会提到原因:

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

  • CI Joe 想要拥有 GitHub 存储库比我想要的更多,它的创建者不是甚至使用它;他们在 Jenkins 上.
  • Cerberus 看起来很小巧,但没有 UI,也不会自动将构建工件发布到其他人的位置可以看到他们.
  • BigTuna 似乎是 CruiseControl.rb 的克隆,没有(已经很少)社区支持.
  • 如果您使用 JIRA 和 BitBucket,
  • Bamboo 看起来非常整洁,但我们都不使用.它确实可以部署,但我们已经在 Capistrano 中进行了设置.
  • 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.

我们选择了 Jenkins,但我真的希望其中一种更轻量级的解决方案能够奏效.

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

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

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