RoRは初めてです。私のgemはバックグラウンド処理を行い、シンサーバーをロードして、時々チェックできるようにします。Capistranoを使用してこれをWebサーバーに配置する必要があります。
人々は通常、gemをサーバーにデプロイしますか、それともアプリを他の方法で作成する必要がありますか?
また、Capistranoは宝石を展開する正しい方法ですか?
RoRは初めてです。私のgemはバックグラウンド処理を行い、シンサーバーをロードして、時々チェックできるようにします。Capistranoを使用してこれをWebサーバーに配置する必要があります。
人々は通常、gemをサーバーにデプロイしますか、それともアプリを他の方法で作成する必要がありますか?
また、Capistranoは宝石を展開する正しい方法ですか?
以前にBundlerをチェックアウトしたことがありますか?これはcapistranoデプロイメントで非常にうまく機能し、デプロイメント時にアプリと一緒にgemをパッケージ化するために使用できます。
または、gem Jewelerを使用できます:https ://github.com/technicalpickles/jeweler
カスタムGemのデプロイは、他のプロジェクトタイプと同じであることがわかりました。deploy.rb
Capsitranoによってファイルがサーバーにダウンロードされた後にgemをインストールできるように、ファイルに新しいCapistranoタスクを追加する必要がありました。これが私がしなければならなかったすべてです。
desc "Install this gem"
task :setup_install, roles: :app do
run "cd #{release_path} && gem build zoe.gemspec"
run "cd #{release_path} && gem install YOUR-GEM-NAME.gem --quiet"
end
after "deploy:finalize_update", "deploy:setup_install"
desc "Uninstall this gem"
task :setup_uninstall, roles: :app do
run "gem uninstall -x YOUR-GEM-NAME"
end
before "deploy:setup_install", "deploy:setup_uninstall"