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