0

プロジェクトの整合性を設定しようとしています。悲しいことに、私の bash-fu は貧弱なので、助けが必要です。ビルド スクリプトでは、 と入力しrake specます。完全性では、ステータス 0 と出力を返します

(/home/rails/integrity/builds/builds/66 内)

しかし、ステータス1と出力を取得する必要があることはわかっています(コンソールから手動で実行した後):

rails@integrity:~/integrity/builds/builds/66$ レーキ仕様
(/home/rails/integrity/builds/builds/66 内) レーキが中止されました! そのようなファイルまたはディレクトリはありません - /home/rails/integrity/builds/builds/66/config/database.yml

( --trace を指定してタスクを実行すると、完全なトレースが表示されます)

私は database.yml を作成しません。Integrity でメッセージを表示したいからです。

私にとっては、パイプを失ったように見えます。スクリプトはここで実行されています: http://github.com/integrity/integrity/blob/v22/lib/integrity/builder.rb#L49rake spec Integrity で 0 が返される 理由を教えてください。

4

1 に答える 1

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 テンプレートをコピーします。

于 2010-10-06T16:49:35.513 に答える