是否可以将 public 路径从当前版本复制到 laravel envoyer 中的下一个版本?

is it possible to copy public path from current release into next release in laravel envoyer?

我有一个使用 envoyer 进行部署的站点。

在我的网站上,用户可以保存 images/avatars/etc。这些图像保存到 laravel 的 public 路径。 /public/uploads/

问题在于,当我部署更新时,composer 不会将新文件保存在新版本文件夹的 /public/uploads 中。

是否要编写一个部署脚本,每次我推送新部署时,都会将当前版本 /public/uploads 中的所有内容复制到新版本中?

不要将它们存储在 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 添加到部分部署过程中,这样您就不会再在每次部署时丢失上传内容。