Я начинаю проект с хостинга внутри сети. Из-за ограничений на исходящий трафик я не могу использовать обычную стратегию развертывания с композитором типа git pull && composer.phar install
, обращаясь к файлу composer.lock
. Хотя, добавление удаленного хранилища интрасети и использование чего-то вроде git push intranet master
возможно.
До сих пор я нашел две возможности справиться с этим:
.gitignore
к вашему vendor/
пути и .gitignore
все в этой папке с вашим проектом.composer.phar archive
для генерации .phar
-archiveПоскольку эти решения не являются рекомендуемыми решениями для развертывания, мой вопрос: каковы основные недостатки и общие проблемы для этих решений? Как избежать этих проблем?
Существует множество способов развернуть приложение laravel, чтобы сказать, какой из них - путь.
Но у вас есть несколько моментов:
css/sass/less/js
php artisan migrate
после каждого развертывания на сервереЕсли вы хотите полностью автоматизировать развертывание, вам понадобится хороший план, какие задачи необходимы для вашего проекта. Это может различаться по нескольким проектам.
Существует множество инструментов, облегчающих некоторые из этих шагов, а также множество руководств по их использованию. Просто упомянем несколько:
Если вы просто хотите "загрузить" свои файлы на удаленный сервер без дальнейших задач автоматизации, вы можете использовать любой инструмент синхронизации, такой как rsync
или любой инструмент синхронизации ftp. У winscp есть механизм сценариев для синхронизации файлов с удаленным сервером.
Вы видите, что найти правильный способ развертывания непросто и во многом зависит от вашей среды и вашего проекта. Наконец, я бы отступил от включения vendor/
в git repo. Это делает контроль версий действительно уродливым.