2009-07-24 73 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