当前位置:  开发笔记 > 编程语言 > 正文

Ruby on Rails的持续集成?

如何解决《RubyonRails的持续集成?》经验,为你挑选了12个好方法。

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

理想情况下,我在寻找:

明显的Git/SVN和Test :: Unit集成

与Rake和/或Capistrano集成

显示构建状态的Web界面

失败构建的电子邮件通知.

桌面通知(可能通过Growl)

用于构建状态的REST API

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

TALlama.. 83

我刚刚通过这里的选项,并认为我将在2011年底推出它们.

廉正

一个经过濒死体验留下的仍然链接到的网站与过时的信息和被击落的演示现场,该项目再次有生命的火花.但是文档还没有继续下去,教程中的很多步骤都很简单 ; 我不得不改变对宝石的引用,在带外构建一些东西,然后我仍然无法使它工作.

Cruise Control.rb

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

TeamCity的

看起来很棒,但薪资水平看起来并不严重.3个代理商免费,然后当你依赖时,你需要花费数百美元.个人构建看起来很棒,但没有预算.

詹金斯(姓哈德森)

这是一个Java伟岸,它是装载了一千选项,所以UI是混乱的,这是一个苦差事设置您的项目.但是一旦你设置了它,就可以获得大量的插件,这些插件可以从任何地方获取,运行大多数任何东西,并报告大部分内容.在OS X安装点詹金斯在/Users/Shared/Jenkins/Home,但无法创建目录或chowndaemon(这是在默认情况下使用,此时应更改为新的jenkins用户,所以你可以设置GitHub的整合).

其他

我没有真正尝试这些,但我想我会提到为什么:

CI Joe希望拥有比我想要的更多的GitHub回购,而它的创造者甚至都没有使用它; 他们在詹金斯身上.

Cerberus看起来很小但没有UI,并且不会自动发布构建工件,而其他人可以看到它们.

BigTuna似乎是一个没有(已经很小的)社区支持的CruiseControl.rb克隆.

如果你使用JIRA和BitBucket,Bamboo看起来很整洁,但我们都没用.它确实部署了,但我们已经在Capistrano中设置了这些部署.

选择

我们和詹金斯一起去了,但我真的希望有一个更轻量级的解决方案.



1> TALlama..:

我刚刚通过这里的选项,并认为我将在2011年底推出它们.

廉正

一个经过濒死体验留下的仍然链接到的网站与过时的信息和被击落的演示现场,该项目再次有生命的火花.但是文档还没有继续下去,教程中的很多步骤都很简单 ; 我不得不改变对宝石的引用,在带外构建一些东西,然后我仍然无法使它工作.

Cruise Control.rb

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

TeamCity的

看起来很棒,但薪资水平看起来并不严重.3个代理商免费,然后当你依赖时,你需要花费数百美元.个人构建看起来很棒,但没有预算.

詹金斯(姓哈德森)

这是一个Java伟岸,它是装载了一千选项,所以UI是混乱的,这是一个苦差事设置您的项目.但是一旦你设置了它,就可以获得大量的插件,这些插件可以从任何地方获取,运行大多数任何东西,并报告大部分内容.在OS X安装点詹金斯在/Users/Shared/Jenkins/Home,但无法创建目录或chowndaemon(这是在默认情况下使用,此时应更改为新的jenkins用户,所以你可以设置GitHub的整合).

其他

我没有真正尝试这些,但我想我会提到为什么:

CI Joe希望拥有比我想要的更多的GitHub回购,而它的创造者甚至都没有使用它; 他们在詹金斯身上.

Cerberus看起来很小但没有UI,并且不会自动发布构建工件,而其他人可以看到它们.

BigTuna似乎是一个没有(已经很小的)社区支持的CruiseControl.rb克隆.

如果你使用JIRA和BitBucket,Bamboo看起来很整洁,但我们都没用.它确实部署了,但我们已经在Capistrano中设置了这些部署.

选择

我们和詹金斯一起去了,但我真的希望有一个更轻量级的解决方案.


特拉维斯怎么样?
我在一个闭源项目上工作,所以除非我误解了他们(措辞不好)的文档,否则Travis对我们来说并不是一个真正的选择(我不是不允许他们写入我们的GitHub项目的写入权限).如果我正在写一些宝石,我会立刻跳上Travis,但不是真正的Rails网站.
仅供记录,Travis CI即将发布已经在Beta中的PRO(付费和私人)版本.对于小型项目而言,这个价格有点贵,每月129美元和249美元,但值得一看:http://travis-ci.com/

2> craigb..:

CruiseControl.rb怎么样?

同样的人群CruiseControl(思想工作)和写作Ruby.非常容易使用Rake以集成您的其他工具,并可以使用ruby-growl gem进行通知.


cruisecontrol非常原始,非常过时.

3> Julian..:

您可能还想考虑哈德森.它设计用于Java项目,尽管有很多插件可用,包括对Ruby和Rake的支持.它有一个非常有用的网络界面,支持电子邮件通知以及许多其他(如twitter或巨型熊灯).

该社区也非常活跃,有几篇关于使用Selenium连接Hudson的文章,您可能对在浏览器端测试Rails应用程序有所帮​​助.

另外一个是Team City,它可以免费用于小型项目和团队(包括商业).我非常喜欢Team City,并且之前已经将它用于其他项目,但目前我们正在使用Mercurial进行源代码控制,而Team City的支持在我们考虑它的时候有点过于测试.

我从CruiseControl.net切换到Team City,对改进感到非常震惊.我偏爱Hudson,因为它具有相似的功能集和非常活跃的社区.


请注意,哈德森有一些政治因素,因为,呃,我们称之为与甲骨文有创造性的差异.大多数开发人员似乎都在使用称为Jenkins的fork.Oracle有员工,并将继续支持和开发Hudson.
好点dondo.对于有兴趣跟踪Hudson继续开发的人,可以访问https://jenkins-ci.org/查看Jenkins.
哈德森很棒.
TC为+1.放下我见过的最好的CI

4> Paul Biggar..:

Circle是Rails(和其他Web应用程序)的高级CI服务.从您的列表中,它支持以下内容:

Git和Test ::单元集成(也是RSpec,Cucumber,Jasmine,Konacha集成,并支持任意额外的测试命令)

与Rake和/或Capistrano集成(使用Rake运行命令并设置DB,支持使用Capistrano或Heroku进行连续部署,或者任何真正的东西)

显示构建状态的Web界面

失败构建的电子邮件通知.

桌面通知(通过CCMenu/CCTray)

用于构建状态的REST API

用于在UI中运行其他代码分析工具和报告结果的插件框架(我们可以运行任意命令和支持,包括作为构建的一部分的状态)

Joel和我在Stackoverflow播客上花了一段时间聊聊这个 - 看看吧!


(编辑)免责声明:Paul Biggar在他的Stackoverflow简介中声明了Circle



5> marko..:

Semaphore是一个用于Ruby和Rails应用程序的新托管CI应用程序.它与GitHub集成,无需设置,并具有简单的用户界面.



6> Joshua Pinte..:
2015年2月更新

Codeship

Drone.io缺乏开发,所以我切换到Codeship,我非常享受它.它积极开发和改进,设计精良,速度非常快.此外,对于底层,它实际上是免费的(每月最多100个版本),所以它最终比Drone.io便宜.

原始答案

Drone.io

我只需使用http://drone.io/设置我们的主要Ruby on Rails应用程序.是一块蛋糕,它有一个很棒的界面.如果您正在寻找一个简单的托管解决方案,我会说值得一试.



7> 小智..:

查看Tddium.Tddium支持Ruby应用程序的持续集成,部署和交互式测试.它提供了一个托管环境,支持Selenium,Headless Webkit和Solr.它托管实时Postgres,MySQL,Mongo和Redis实例.它自动并行化大型测试套件.


Jay,您可能希望揭露您与tddium和solano实验室的关联.根据[FAQ](http://stackoverflow.com/faq#promotion):"您必须在答案中披露您的联盟"

8> Vanuan..:

Travis CI在红宝石世界中变得流行:http://travis-ci.org/



9> madlep..:

cruisecontrol.rb将是完美的匹配.

http://cruisecontrolrb.thoughtworks.com/



10> csexton..:

像许多人一样,我是cruisecontrol.rb的忠实粉丝,但最近我将项目转为Integrity.

轻巧,易于设置(很像cc.rb),但界面更好.


我只是试图建立诚信,这是一个烂摊子.

11> oma..:

BigTuna - 用Ruby编写,使用Rails并将自己用作CI.


请注意,BigTuna的appelier.com链接是过期域名的死链接.该项目现在可以在[Github]上找到(https://github.com/appelier/bigtuna).

12> Florian Motl..:

你可以给Codeship一个旋转,看看它是否适合你(我是创始人之一)

基于云的持续集成和部署(具有特殊的Heroku支持)

您的前四个项目已经实施,并且适用于许多公司

明显的Git/SVN和Test :: Unit集成

与Rake和/或Capistrano集成

显示构建状态的Web界面

失败构建的电子邮件通知.

我们正在研究这些功能:

桌面通知(可能通过Growl)

用于构建状态的REST API

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

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有