Integrity连续应用程序应用程序的问题

时间:2010-10-06 12:44:54

标签: ruby-on-rails ruby continuous-integration integrity

我正在尝试为我的项目设置完整性。可悲的是,我的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吗?

1 个答案:

答案 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模板。