我有一个使用envoyer进行部署的网站。
在我的网站上,用户可以保存图像/头像等。这些图像保存到laravel的公共路径。 /public/uploads/
问题在于,当我部署更新时,编写器不会将新文件保留在/public/uploads
的新版本文件夹中。
是否要编写一个部署脚本,每次推送新部署时,都会将当前版本中的/ public / uploads中的所有内容复制到新版本中?
答案 0 :(得分:2)
请勿将它们存储在public/uploads
中,并将其存储在storage/uploads
中。符号链接storage/uploads
到/public/uploads
并将storage/uploads
移出项目完全进入其自己的目录。然后将符号链接/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
已添加到部署过程的一部分中,并且每次部署时您都不会再丢失上传内容。