environment=development で実行されているステージング サーバーにデプロイしています。私の展開スクリプトはメッセージで失敗しますCould not find gem 'webmock (>= 0) ruby' in the gems available on this machine.
が、Gemfile にはグループにのみリストされているため、スクリプトがその gem を必要とする理由がわかりませんtest
。
デプロイ中にステージング サーバーが Webmock を要求しようとする理由がわかりましたか?
私のデプロイスクリプト
私の展開スクリプトのコマンドが失敗するのは次のとおりです。
executing ["cd /var/www/clu2/staging/releases/20130429170940 && bundle exec whenever --update-crontab staging --set environment=development --roles db"]
1 つ前のコマンドでは、スクリプトが実行され、 gembundle install
が省略されます。test
executing ["cd /var/www/clu2/staging/current && bundle install --without=test --no-update-sources"]
Webmock の使用はテストのみです
Webmock は、私の spec_helper ファイルでのみ必要であることがわかります。
$ grep -r webmock .
./Gemfile: gem "webmock"
./Gemfile.lock: webmock (1.11.0)
./Gemfile.lock: webmock
./spec/spec_helper.rb: require "webmock/rspec"
Gemfile で webmock がテスト gem として指定されていることがわかります。
group :test do
gem 'spork-rails' # pre-load rails environment for faster test launches
gem "webmock"
end