Как развернуть приложение Laravel на Heroku

Из этой статьи вы узнаете, как задеплоить проект Laravel на Heroku — облачной платформе для развёртывания, управления и масштабирования проектов.
Содержание
- Что понадобится для работы
- Шаг 2: создайте Procfile
- Шаг 3: создайте новое приложение на Heroku
- Шаг 4: подключите Node.js
- Шаг 5: настройте ключ шифрования Laravel
- Шаг 6: отправьте приложение на Heroku
- Шаг 7: убедитесь, что приложение использует правильные пакеты сборки
- Шаг 8: проверьте доступность приложения
Что понадобится для работы
- Знания PHP и Laravel
- Аккаунт на Heroku
- Heroku CLI (можно загрузить здесь)
- Git (инструкция по установке здесь)
Предполагается, что у вас есть приложение на Laravel, которое работает на локальном сервере и готово к развёртыванию.
Шаг 1: инициализируйте Git
Инициализируйте git-репозиторий в текущей рабочей директории. Используйте такую команду:
Внимание: если вы не умеете работать с Git, пройдите бесплатный курс по системам контроля версий.
Шаг 2: создайте Procfile
В рабочей директории создайте Procfile без расширения и добавьте в него такую строку:
web: vendor/bin/heroku-php-apache2 public/
Также Procfile можно создать и обновлять через терминал. Для этого понадобится следующая команда:
Шаг 3: создайте новое приложение на Heroku
Это можно сделать с помощью команды:
В этом случае для вашего проекта устанавливается рандомное название. Чтобы его изменить, используйте следующую команду:
Вместо newAppName укажите желаемое название проекта.
Шаг 4: подключите Node.js
Node.js понадобится для работы с командами npm install, npm production и так далее. Добавьте в проект пакет heroku/nodejs с помощью команды:
После этого все зависимости, указанные в package.json, будут установлены при развёртывании проекта, а devDependencies будут проигнорированы.
Чтобы устанавливать все зависимости, включая dev, используйте такую команду:
Затем добавьте heroku-postbuild
в package.json
в секцию scripts
:
Шаг 5: настройте ключ шифрования Laravel
Чтобы настроить ключ шифрования, скопируйте значение APP_KEY из файла .env и выполните указанную ниже команду:
А с помощью предложенной далее команды можно сгенерировать и установить новый ключ шифрования.
Шаг 6: отправьте приложение на Heroku
Запушить приложение на Heroku можно с помощью такой команды:
Шаг 7: убедитесь, что приложение использует правильные пакеты сборки
Для этого используйте предложенную команду:
Если в списке пакетов есть heroku/php и heroku/nodejs, всё в порядке. Если какого-то из пакетов нет, запустите такую команду:
Вместо [‘missing build’] укажите название пакета, который нужно добавить.
Шаг 8: проверьте доступность приложения
Для этого введите в адресную строку браузера соответствующий URL.
Чтобы установить переменные окружения, воспользуйтесь командой:
Также можно использовать панель инструментов. На вкладке Settings выберите Reveal config vars. Здесь можно просмотреть и настроить переменные окружения.
Heroku позволяет бесплатно использовать PostgreSQL. Для этого понадобится такая команда:
На панели инструментов в настройках укажите для DB_CONNECTION значение pgsql. Выберите Reveal config vars, чтобы проверить переменные окружения.
Чтобы получить учётные данные БД приложения, выберите аддон Heroku Postgres Hobby Dev на вкладке Overview панели инструментов. После этого откроется новая вкладка в браузере. Учётные данные БД можно найти на вкладке «Настройки».
Обратите внимание, чтобы использовать команды artisan или npm на Heroku, перед всеми командами запускайте heroku run. Например, heroku run php artisan storage
или heroku run npm install.Адаптированный перевод статьи How to deploy a Laravel/Vue App to Heroku by Chinedu Ogama. Мнение администрации Хекслета может не совпадать с мнением автора оригинальной публикации.
Дмитрий Дементий
5 лет назад