/ / laravel envoyerで現在のリリースから次のリリースへパブリックパスをコピーすることは可能ですか? - laravel、envoyer.io

現在のリリースから次のリリースへlaravel envoyerで公開パスをコピーすることは可能ですか? - laravel、envoyer.io

展開に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 が展開プロセスの一部に追加され、展開するたびにアップロードが失われることはなくなります。