我正在尝试为我的项目设置完整性。可悲的是,我的bash-fu很差,所以我需要一些帮助。
在构建脚本中,我输入rake spec
。在完整性中,它返回状态0和输出
(在/ home / rails / integrity / builds / builds / 66中)
但我知道,我应该获得状态1和输出(在从控制台手动运行之后):
导轨@完整性:〜/完整性/建立/建立/ 66 $ rake spec
(在/ home / rails / integrity / builds / builds / 66中) 耙子流产了!没有这样的文件或 目录 - /home/rails/integrity/builds/builds/66/config/database.yml(通过运行任务查看完整跟踪 --trace)
我不创建database.yml,因为我想诚信展示有关它的消息吗?
对我而言,它似乎失去了管道。
脚本在这里运行:
http://github.com/integrity/integrity/blob/v22/lib/integrity/builder.rb#L49
你能说出为什么rake spec
的完整性会返回0吗?
答案 0 :(得分:0)
在运行测试之前,您需要设置database.yml。您可以编写一个自定义构建脚本来设置它,然后运行测试。类似的东西:
namespace :ci do
task :update_submodules do
system("git submodule update -i")
end
task :copy_yml do
system("cp /my/custom/config/path/database.yml.ci #{Rails.root}/config/database.yml")
end
desc "Prepare for CI and run entire test suite"
task :build => [:environment, 'ci:update_submodules', 'ci:copy_yml', 'spec', 'cucumber:ok'] do
end
end
然后把rake ci:build作为完整性构建脚本。基本上,此脚本将在启动测试之前复制database.yml模板。