Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте!
Пишу первый велосипед на Laravel. Возник вопрос про правильный перенос проекта в дальнейшем на рабочий сервер.
В частности, что именно нужно включать в .gitignore (помимо /vendor)?
У меня локально установлены некоторые девелоперские пакеты вроде ide-helper и debugbar. Значит файл config/app.php с его локальным 'providers' => [] тоже нужно в ignore? Может есть инструкция какие именно каталоги и файлы нужно выгружать в git, а какие добавлять в ignore?
Дальше, на стороне production, я правильно понимаю, что нужно будет выполнить примерно следующее?:
// перевести в maintance
php artisan down
// забрать изменения из git
git pull
// установить пакеты по файлу composer.json (именно install, а не update) за исключением require-dev
composer install --no-dev
// запустить миграции БД
php artisan migrate
// почистить кэш приложения
php artisan config:cache
php artisan route:cache
// в конце вернуть
php artisan up
Еще поиск нашел такую вещь, как deployer.org
СтОит с ним связываться или нет?
Спасибо
Не в сети
Разница между продакшн и не-продакшен должна описываться в .env, который конечно же в игноре.
Мы также игнорируем robots.txt т.к. тестовые сайты содержат в нем запрет на индексацию.
Значит файл config/app.php с его локальным 'providers' => [] тоже нужно в ignore?
Нет.но возможно где-то в инициализации ты захочешь сделать if () как здесь, например, рекомендовано:
https://github.com/barryvdh/laravel-ide … /readme.md
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
Спасибо! Понятно
Но тогда такой вопрос: как переопределять некоторые файлы из каталога vendor?
В инете нашел по строке "Laravel How to override vendor class file" совет: с помощью composer в
"exclude-from-classmap" прописать исключаемый, а в "psr-4" свой.
Но там есть один нюанс с путями: в Windows '\\', а в Linux '/'
А какже тогда быть, если у меня дома Linux, а на работе Windows? (а файл composer.json общий и его нужно добавлять в git)
Не в сети
Не надо их переопределять. Они вам не мешают. Не будет обращения к классу — не будет расходов по его загрузке.
Везде используйте слеш на юниксовый манер, винда его тоже понимает.
composer.json и composer.lock должны быть закоммичены в git
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
Насчет пакетов для локальной разработки их можно вынести из конфига в AppServiceProvier.
Где в методе register проверить или окружение сейчас не продакшн - и зарегистрировать провайдеры дев пакетов.
Что-то вроде такого:
if(!app()->environment('production')){
$this->app->regiser(...);
}
Не в сети
Страницы 1