Можно ли скопировать общедоступный путь из текущей версии в следующую версию в laravel envoyer?

У меня есть сайт, который использует envoyer для развертывания.

На моем сайте пользователи могут сохранять изображения/аватары/и т.д. Эти изображения сохраняются в общедоступном пути laravel. /public/uploads/

Проблема в том, что когда я развертываю обновление, композитор не сохраняет новые файлы в /public/uploads в новой папке выпуска.

Нужно ли написать сценарий развертывания, который будет копировать все из /public/uploads в текущем выпуске В новый выпуск каждый раз, когда я нажимаю новое развертывание?


person Felix Maxime    schedule 22.02.2018    source источник


Ответы (1)


Не храните их в 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 добавлены в часть процесса развертывания, и вы больше не будете терять свои загрузки при каждом развертывании.

person Ohgodwhy    schedule 22.02.2018