符号链接通过部署脚本上传 Laravel Envoyer 中的文件夹

Symlink uploads folder in Laravel Envoyer via deploy script

我有一个 laravel 项目部署到 AWS。最近我想到了使用 Envoyer 进行零停机部署。

我的项目有一个上传目录,用户上传是通过代码添加的。当然,git.

中没有添加

所以当 envoyer 部署代码时,我必须将我的上传文件夹符号链接到当前目录。我添加了部署脚本(激活新版本后):

ln -s ~/<myproject>/uploads ~/<myproject>/current/uploads

当特使部署时,我得到了符号链接,但目录是这样的:

audio  images  uploads

而实际的目录是这样的:

audio images

(注意上面的输出是上传目录中的ls命令)

我不明白为什么符号链接有另一个名为 uploads 的目录,而图像和音频文件夹是空的。顺便说一句,在上传符号链接的内部创建的奇怪的新上传文件夹实际上具有正确的结构。但这不是我需要的,我需要有包含适当文件的音频和图像文件夹。

我试过什么?

我通过 ssh 连接到服务器,运行 使用与我为 envoyer 添加的命令相同的命令,并且正确地创建了符号链接。但是为了自动化,我实际上需要在 Envoyer 部署挂钩中拥有它。

有人知道吗?我想部署符号链接挂钩应该是 Envoyer 中的常见做法。

问题是我在 git 中已有一个上传文件夹。 (添加此内容是为了保留每个目录结构中包含 .gitignore 个文件)。

为了解决这个问题,我只是在链接之前删除目录。