Pocket
LINEで送る

当然困ります。

http://www.slideshare.net/T2J/capistrano-tips-tips
このページの22ページに解決策が書いてあります。これがよさげ。

(ちなみに、僕は今時点よりちょっと古いCapistranoを使っております。3ではありません。)

cakePHPでapp/webroot内に画像フォルダを作っている場合、(app/webroot/uploadsなど)まず最新リリースのuploadsフォルダを、shared/system/uploadsにコピーします。
そして、今後はデプロイする度に、app/webroot/uploadsを、shared/system/uploadsフォルダのシンボリックリンクにする。
という感じにしたらいいらしい。

でも今全然正しくシンボリックリンクの設定ができてなかったのにdeployしても画像が共有されているのはなぜだろうか???
謎すぎる。

シンボリックリンクをcapistranoで作成するには、下記のような感じにした。

run "rm -rf #{latest_release}/app/webroot/uploads"
run "ln -nfs #{shared_path}/system/uploads #{latest_release}/app/webroot"

uploadsフォルダを削除してからじゃないとエラーになるので、最初に削除してから新たにシンボリックリンクを作成した。ln -nfsとあるが、nオプションは不要かも。というかfオプションも不要か削除してるし。

Pocket
LINEで送る


コメントください

%d人のブロガーが「いいね」をつけました。