展開にenvoyerを使用するサイトがあります。
私のサイトではユーザーは画像/アバター/ etcを保存することができます。これらの画像は一般の旅行者のために保存されています。 /public/uploads/
これに関する問題は、私がアップデートを配布するとき、composerが新しいファイルを保存しないということです。 /public/uploads
新しいリリースフォルダにあります。
新しいデプロイメントをプッシュするたびに、現在のリリースの/ public / uploadsから新しいリリースにすべてをコピーするようなデプロイメントスクリプトを作成するのでしょうか。
回答:
回答№1は2保存しないでください public/uploads
、それらを storage/uploads
。シンボリックリンク storage/uploads
に /public/uploads
移動 storage/uploads
プロジェクトから完全にそれ自身のディレクトリに入れます。それからsymlink /storage/uploads
あなた自身に /storage/uploads
、 このようなもの:
ln -s /home/forge/storage/example.com/uploads /home/forge/example.com/storage/uploads
ln -s /home/forge/example.com/storage/uploads /home/forge/example.com/public/uploads
新しいディレクトリの所有権が次の場所にあることを確認してください。 /home/forge/storage/example.com/uploads
の所有権に一致します /home/forge/example.com
.
これにより、デバイス上のストレージを永続化できます。を確認してください symlinks
が展開プロセスの一部に追加され、展開するたびにアップロードが失われることはなくなります。