2009-07-24 66 views
1

时CruiseControl.rb要进行集成测试它寻找所谓的“巡航”项目中的rake任务并执行它。CruiseControl.rb:运行巡航rake任务与当前版本的参数

有没有办法将当前版本号交给该任务? 我正在使用集成测试后的远程机器上的capistrano部署应用程序。因为如果没有特殊的修订获得通过Capistrano的将部署HEAD修订版本,我想告诉它使用cc.rb的最后一次检查修订...

什么想法?

回答

1

rake cruise运行在包含结帐的目录。如果你的源代码控制是git,那么解压缩版本是很简单的。

IO.popen('git log -1|grep -i \'^commit\ \'').read.split[1] 

巡航是在你要求要建,不HEAD的修订相匹配的结算运行,因此修订报道买入git的日志应该是准确的。

祝你好运!

0

是mixonic发布应该罚款,但如果你使用Subversion,你应该执行svnversion命令来获取版本号,而不是答案。

2

如果您需要CC.rb版本,你可以这样来做:

desc 'Cruise' 
task :curise do 
    puts "Building revision #{ENV['CC_BUILD_REVISION']} from #{File.dirname(__FILE__)}" 
end