我正在使用Laravel Forge并将其连接到Envoyer,当我将代码推送到bitbucket master分支(连接到实时服务器)时,它会删除所有用户文件(例如用户个人资料图片和...)。
我每次都以两种不同的格式尝试.gitignore
:
/public/images/profile/*
#and
/public/images/profile/
但仍会删除用户图片 任何人都知道如何防止删除文件夹中的图像?
答案 0 :(得分:1)
每次部署时,Envoyer都会使用您的存储库中的新代码创建新目录。您的文件并未真正删除,这些文件仍在先前部署文件夹中的服务器上。
要解决此问题,请将用户文件放在存储目录中。然后转到Envoyer -> Deployment Hooks -> Manage Linked Folders
并添加以下内容:
此处有更多详情 - https://envoyer.io/docs
部署生命周期
当您的项目触发部署时,Envoyer将执行您的部署计划。默认情况下,这包括下载项目的tarball,安装Composer依赖项,将当前符号链接指向最新版本,最后从服务器中清除任何旧部署。
管理上传的文件
存储用户上传的文件时,如果使用的是Laravel,则应将它们存储在应用程序的存储目录中。然后,您可以使用Envoyer的“管理链接文件夹”功能来创建从公共目录到存储目录的符号链接。可以在项目的“部署挂钩”选项卡上找到“管理链接文件夹”按钮。
如果您不使用Laravel,您基本上将遵循相同的过程。但是,您需要在应用程序的部署路径中手动创建存储目录(与当前符号链接的目录级别相同)。