Есть простенький шаредхостинг, SSH доступа нет, на хостинге панель ISPmanager, командной строки нет. И есть сайт на Laravel на локальном сервере.
Правильно ли делаю деплой? (не всмысле используемых инструментов, а в смысле технической корректности)
Настроил в PHP Storm синхронизацию удаленного сервера с локальным.
1. В .env файле меняю:
APP_ENV=production
APP_DEBUG=false
параметры подключения к БД
2. Затем на локальном сервере выполняю следующие команды:
php artisan cache:clear
3. И в PHP Storm нажимаю "Синхронизировать"
В исключения синхронизации добавил только .env
Ничего не забыл? Все правильно сделал?
Есть ли какой-то другой способ это сделать в текущих условиях? Т.к. это затратно повремени и надоело уже на второй раз...
Хоть нет полноценных инструментов, я бы все же делал бы полноценный релиз:
- прогон тестов
- создаете папку на хостинге рядом с проектом release2
- в этой папке ставите все операции выше
- миграции (и переключение (но такое редко)) БД не увидел у вас
- запускаете пару чекеров, что все работает
- переключаете папки (либо силинком, либо в настройках сервера)
А в смысле корректности я правильно делаю перенос сайта?
Нужны ли на prod сервере папка node_modules, например? Ведь при npm run production мы же все из нее берем, что нужно и на прод.сервере нужны только скомпилированные файлы из папки public...
Или я неправильно понимаю?
Sanes,
Вот в этом и был вопрос...
Какие еще папки, кроме node_modules, не нужны?
Ну или нужны, но при повторном деплое сайта не должны перезатираться локальными. Например storage, там же сессии хранятся, которые уже свои на продакшене.
Где-то читал, что .env файл не нужен на продакшене.
Я вот про это спрашивал.
А насчет как технически все это перенести, это уже второй вопрос.
php artisan optimize:clear
Заменяет 4 твоих команды.
php artisan queue:restart
Сбрасывает кэш задач
service supervisord restart
перезапускает смотрителя (навсякий)
php artisan horizon:pause
php artisan horizon:continue
остановить и запустить Horizon (Осторожно если запустить в дев режиме запустится дев конфиг это может привести к накопления и не исполнению задач)
php -d memory_limit=3G /usr/local/bin/composer update
топ команда для приручение толстых пакетов типа dump-server
В исключения синхронизации надо добавить storage, vendor, node_modules