我没有rails环境,但我想使用cruisecontrol.rb作为我的Continous Integration环境。
跟随http://cruisecontrolrb.thoughtworks.com/documentation/getting_started然后
的指示./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
我调试了一个litter位,发现上面的代码执行时,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 :(得分:1)
有几种解决方法,最简单的方法是在项目的根目录中创建cruise_config.rb文件。看起来应该是这样的:
Project.configure do |project|
project.rake_task = "spec"
end
只需将“spec”替换为您拥有的任何rake任务。如果你不使用rake(比如说你使用的是蚂蚁),你可以这样做:
Project.configure do |project|
project.build_command = "ant test"
end
只需用命令行命令替换“ant test”,如果成功则返回0,否则返回1。 (蚂蚁,制作,耙,都这样做)