Symlink загружает папку в Laravel Envoyer через скрипт развертывания - PullRequest
4 голосов
/ 19 апреля 2019

У меня развернут проект laravel на AWS.Недавно я подумал об использовании Envoyer для развертывания без простоев.

В моем проекте есть каталог загрузок, куда добавляются пользовательские загрузки по коду.Конечно, это не добавлено в git.

Так что, когда envoyer развертывает код, я должен сделать символическую ссылку на мою папку загрузки в текущем каталоге.Я добавил сценарий развертывания (после активации новой версии):

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

При развертывании посланника я получаю символические ссылки на месте, но каталог выглядит примерно так:

audio  images  uploads

В то время какфактический каталог выглядит так:

audio images

(обратите внимание, что приведенный выше вывод команды ls в каталоге загрузки)

Я не понимаю, почему символическая ссылка имеет другой каталог с именем uploads и изображениямии аудио папки пусты.Кстати, нечетная новая папка загрузки, которая создается внутри, которая загружает символическую ссылку, на самом деле имеет правильную структуру.Но это не то, что мне нужно, мне нужно иметь папку с аудио и изображениями с соответствующими файлами в ней.

Что я пробовал?

Я ssh'd длясервер и выполнил ту же команду, которую я добавил для envoyer, и это правильно создает символическую ссылку.Но чтобы автоматизировать это, мне действительно нужно иметь это в хуке развертывания Envoyer.

У кого-нибудь есть идеи?Я полагаю, что использование ловушки Symlink должно быть обычной практикой в ​​Envoyer.

1 Ответ

2 голосов
/ 25 апреля 2019

Проблема была в том, что у меня уже была папка для загрузки в git. (Это было добавлено для сохранения структуры каталогов с .gitignore файлами в каждом).

Для решения этой проблемы я просто удаляю каталог перед установкой ссылки.

...