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で送る


コメントください

関連記事

OS・サーバ

UbuntuにzshとvimとGoを設定する

zshはoh-my-zshというのを使います。vimはdeinでプラグ 続きを読む …

プログラミング

Go – Vim-goがうごかない

参考:vim-goをインストールしてみた(所要時間:15分) 環境 w 続きを読む …

開発環境

Dockerの使い方(2)

シンプルなWEBアプリを構築してローカルブラウザで確認する。 $ do 続きを読む …

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