I've always deployed my apps through SSH by manually logging in and running git pull origin master
, running migrations and pre-compiling assets.
Now i started to get more interested in Capistrano so i gave it a try, i setup a recipe with the repository pointing to github and deploy_to
to /home/myusername/apps/greatapp
サーバー上の現在のアプリも既に Git に接続されているため、レシピで github の URL を再度指定する必要がある理由がわかりませんでしたが、実行しcap deploy
て成功しました。
変更が適用されなかったので、好奇心からサーバー上の app フォルダーを参照したところ、Capistrano がフォルダーshared
、releases
および を作成したことがわかりましたcurrent
。後者にはアプリが含まれていたので、今では に 1 つと に/home/myusername/apps/greatapp
もう1 つの 2 つのコピーがあり/home/myusername/apps/greatapp/current
ます。
これはどうあるべきですか?ユーザーのアップロードを
current
古いアプリに移行して破棄する必要がありますか?Capistrano はローカルホストでレポを取得してから、SSH 経由でアップロードする
pull
か、サーバーで実行しますか? 言い換えれば、誰かが展開がどのように機能するかを概説できますか?カピストラーノは走ってい
precompile:assets
ますか?