论坛首页 编程语言技术论坛

插件介绍CruiseControl.rb

浏览 2194 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-29   最后修改:2009-03-29
  ThoughtWorks有一个基于java的CruiseControl,主页在这里 目前为止,更新到了2.8.2

  
引用
持续集成(Continuous Integration)这个术语源自 XP(极限编程)的一个最佳实践,随着XP 社区在近几年的壮大,XP 的很多实践得到了广泛的推广,持续集成就是其中之一,但是持续集成并非 XP 的专利,持续集成完全可以应用在采取非XP 方法(例如 RUP)的项目里面。持续集成也不是一个新的概念,在这个术语出现之前,daily build提供同样的含义,他们的主要区别就在于实施的频率上,随着 XP 社区的大师级人物 Martin Fowler的一篇《Continuous Integration》正式为其正名,持续集成这个术语就越来越多地出现daily build中。同时,Martin Fowler 所在的公司 ThoughtWorks 开放了其持续集成的工具 CruiseControl 的源代码,持续集成对于大部分开发人员来说就不再只是停留在口头上的漂亮的术语,任何人在掌握了持续集成的基础理论后,都可以使用 CruiseControl 来体会持续集成在项目开发中的巨大威力。



  关于CruiseControl这里有一篇gigix老大做为开发者的当时介绍CruiseControl.rb简介

  现在CruiseControl的版本是1.3.0,是相当好用的一个工具。下面两个部分,简单安装和使用,然后,是和RSpec结合使用的说明。


 首先,你可以从这里下载到CrusiseControl,这是rubyforge的仓库。不方便也可以本地下载

 安装如下:

运行
 ./cruise add your_project --url [URL of your_project Subversion trunk].

你也可以选择加上username 和 password 通过标识 --username [your_user] --password [your_password],这将创建$HOME/.cruise的目录,windows下对应%USERPROFILE%\.cruise。在这个目录下CruiseControl.rb将保存cruisecontrol自己的数据,和你通过svn check out出来的你的工程文件。工程文件的位置默认在
$HOME/.cruise/projects/your_project/work/.


提示: 工程文件的Rakefile应该在如下目录 of your_project should be in
[cruise data]/projects/your_project/work/
不能在它的目录下面,一个典型的错误就是当你用--url的命令选项来标识工程SVN仓库添加了trunk这时就会出错,因为目录变成了
[cruise data]/projects/your_project/work/trunk/
这样CruiseControl.rb就找不到Rakefile文件,以至于没有办法集成编译了。

  运行cruise
 ./cruise start.


提示: 这是默认启动CruiseControl.rb的dashboard和builder(s).默认的端口是3333如果你想把端口改成其它的只要运行如下命令
./cruise start -p [port]


  查看运行结果

引用
   http://localhost:3333.


如果一切运行正常你将看到一个有CruiseControl.rb logo标识的页面。如果,可以正常运行,你应该还会看到你的项目列在下面。这时你就可以点击build了。如果,失败了,可以通过查看日志,寻找原因。并且到下面目录
[cruise data]/projects/your_project/work/
保证build通过。

对于一个标准的Rails应用来说,这个build包括创建test database环境,修改database.yml文件连接数据库,运行rake RAILS_ENV=test db:migrate 和运行rake test进行测试. 当你可以保证以上命令都可以执行通过的时候,回到DashBoard点击build now按钮.从新build你的应用.

这时CruiseControl将会build整个应用,并且输出到如下目录:
[cruise data]/projects/your_project/build-[revision-number]/


提示: 查看日志
log/your_project_builder.log
如果遇到任何问题.试着修改你的项目看看cruisecontrol的build功能是否仍然好用.再到DashBoard查看你的项目的状态.
./cruise help
将会提示你所有的命令列表
./cruise help [command]
将会提示你命令的具体使用


论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics