当CruiseControl.rb想要执行集成测试时,它会在项目中查找名为“cruise”的rake任务并执行它。
有没有办法将当前的修订号移交给该任务? 我在集成测试后在远程计算机上使用capistrano部署应用程序。因为如果没有通过特殊修订版,capistrano将部署HEAD修订版,我想告诉它使用cc.rb上次检查的修订版...
任何想法?
答案 0 :(得分:2)
如果您需要CC.rb修订版,您可以这样做:
desc 'Cruise'
task :curise do
puts "Building revision #{ENV['CC_BUILD_REVISION']} from #{File.dirname(__FILE__)}"
end
答案 1 :(得分:1)
rake cruise
在包含结帐的目录中运行。如果你的源代码控制是git,那么提取修订版本是微不足道的。
IO.popen('git log -1|grep -i \'^commit\ \'').read.split[1]
巡航正在结帐中运行,该结账符合您要求构建的修订版,而不是HEAD,因此修改报告的购买git日志应该是准确的。
祝你好运!答案 2 :(得分:0)
mixonic发布的答案应该没问题,但是如果你使用Subversion,你应该执行svnversion
命令来获取修订号。