2009-07-08 80 views
1

我沒有圍欄環境,但我想使用cruisecontrol.rb作爲我的連續集成環境。Rails環境是cruisecontrol.rb的先決條件

下從http://cruisecontrolrb.thoughtworks.com/documentation/getting_started的instrcution然後

./cruise start 

後,我得到了錯誤的位置:(抱歉,但格式化是不是在這裏直接張貼更好) http://pastebin.ca/1487868

看來CC。 rb在啓動時做了一些數據遷移/備份工作,我可以通過註釋掉相應的代碼來解決這個問題:

#cruisecontrolrb/db/migrate/002_move_custom_files_to_directory_in_user_home.rb   
DATA_ROOT = ARGV[0] 
RAILS_ROOT = File.expand_path(".")  
if File.directory? 'projects'   
    #mv 'projects', DATA_ROOT + '/projects' #comment out this line, it will work perfect fine 
else 
    mkdir_p DATA_ROOT + '/projects' 
end 

當上面的代碼被遺忘時,我放棄了一點點垃圾,而DATA_ROOT和Dir.pwd是〜/ .cruise。所以

mv 'projects', DATA_ROOT + '/projects' would become 
mv ~/.cruise/projects ~/.cruise/projects which is obvious not correct 

你會推薦什麼來解決這個問題?重新定義DATA_ROOT甚至是我想要的地方?謝謝。

+0

你運行cc.rb的目錄是? – Terry 2009-07-08 09:55:42

+0

我是從〜/ .cruise/ – pierrotlefou 2009-07-09 02:32:28

回答

1

有幾種解決方法,最簡單的方法是在項目的根目錄下創建一個cruise_config.rb文件。它應該看起來像這樣:

Project.configure do |project| 
    project.rake_task = "spec" 
end 

只需用您所擁有的任何rake任務替換「spec」即可。如果你不使用耙子(假設你正在使用ANT)可以改爲做這樣的事情:

Project.configure do |project| 
    project.build_command = "ant test" 
end 

只需更換「螞蟻測試」帶命令行命令,將成功則返回0,否則爲1。 (ant,make,rake,都是這樣做的)