1

Railsアプリを本番サーバーにデプロイするためにCapistranoをセットアップしましたが、これは正常に機能しています。

同じアプリを開発サーバーにデプロイできるようにする必要があります。これを行うために、config.deploy.rb に 2 つのタスクを作成しました。

desc "Run on development server" 
task :dev do 
  server "development_server", :web, :app, :db, :primary => true
end 

desc "Run on production server" 
task :production do 
  server "production_server", :web, :app, :db, :primary => true
end

そうすることで、開発環境で展開を実行するには、次のものを使用する必要があります。

cap dev デプロイ

しかし、Capitrano に正しい環境でバンドルを実行するように指示することはできません。「--without test production」が必要な場合に「--without development test」オプションを使用します。

failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '1.9.3' -c 'cd /var/be/releases/20120824155742 && bundle install --gemfile /var/be/releases/20120824155742/Gemfile --path /var/be/shared/bundle --deployment --quiet --without development test'" on 192.168.1.10

これを実行する方法はありますか?

また、開発環境または本番環境で選択的にシンを開始するにはどうすればよいですか? それぞれにタスクを作成する必要がありますか、それともこれを行う特別な方法はありますか?

4

1 に答える 1

4

これを行う最善の方法は、Capistrano Multistage 拡張機能を使用することです。この Wikiは、私がそれをどのように使用するかよりもずっとよく説明します。私が抱えていた唯一の問題は、小さなものでしたが、それを理解することでした:require 'capistrano/ext/multistage'require 'capistrano'必要ありませんでした.

于 2012-08-24T17:03:16.023 に答える