Вы можете предпочесть сделать это через веб-панель, но я не думаю, что это вариант.Метод Procfile
фазы выпуска работает довольно хорошо.
Добавьте release
процесс к вашему Procfile
, например,
web: vendor/bin/heroku-php-apache2 public/
release: php artisan migrate
Фаза выпускапозволяет запускать определенные задачи перед развертыванием новой версии вашего приложения.Этап выпуска может быть полезен для таких задач, как:
- Отправка CSS, JS и других ресурсов из пула вашего приложения в корзину CDN или S3
- Заполнение или аннулирование хранилищ кэша
- Запуск миграций схемы базы данных
Если задача фазы выпуска завершается неудачно, новый выпуск не развернут, оставляя текущий выпуск без изменений.
Редактировать: Команда деблокирования не подходит для непрерывной интеграции.Лучшим решением было бы использовать правильный инструмент CI.Heroku предоставляет один , но вы можете использовать сторонний инструмент CI, если вы предпочитаете.
Чтобы использовать инструмент Heroku CI, вам нужно включить Heroku CI в настройках конвейера и добавитьили обновите файл с именем app.json
в корне вашего хранилища.В файле app.json
вы можете настроить среду тестирования , которая может быть намного сложнее, чем просто заполнение базы данных.Например, вы можете включить дополнения Heroku для предоставления узла Redis или установки пользовательских переменных среды.
Для PHP ваши require-dev
зависимости будут автоматически установлены в вашей тестовой среде.Вы можете заполнить базу данных в сценарии test-setup
и определить свою тестовую команду в сценарии test
.