HerokuにLaravelアプリケーションをデプロイする
デプロイ方法は3種類ある
Deployment | Heroku Dev Center
Heroku Git
一番始めに手っ取り早くやるときにはこの方法
GitHub
masterブランチにpushされたら自動でproductionにdeploy、みたいなことができる
設定はGUIに従ってボタン押していくだけ。なにも知らない状態から15分以内に設定完了できる
GitHub Integration (Heroku GitHub Deploys) | Heroku Dev Center
Docker
.envに設定した秘匿情報はどうする?
公式のチュートリアルGetting Started with Laravel on Heroku | Heroku Dev Centerではheroku configコマンドで環境変数をすべて設定している
DBのプロビジョニング
Heroku Postgres | Heroku Dev Center
heroku addons:create heroku-postgresql:hobby-dev
この時点で自動的に環境変数DATABASE_URLが設定される
ユーザ名とパスワード
heroku pg:credentials:urlで確認できる
Heroku Postgres | Heroku Dev Center
環境変数を設定する
code:zsh
heroku config:set \
KEY1=VAL1 \
KEY2=VAL2 \
...
マイグレーション
Laravel 5のDBのmigration
方法はいくつかある。ちょっと試したい程度なら2で十分。自動化するなら3を検討すればいい
1. One-Off Dynoでコマンドを実行する
code:zsh
heroku run bash
php artisan migrate
2. heroku run "php artisan migrate"
1と同じ
3. 自動化するならRelease Phaseを使う
Release Phase | Heroku Dev Center
Heroku上のPostgresの操作についてはHeroku Postgresにまとめる
Review Apps
PHP Extensions
BCMathのようなモジュールはcomposer.jsonに指定しておかないと入らない
モジュールが入るかどうかの詳細はここで確認できる
バージョン指定は*が推奨されている
Heroku PHP Support | Heroku Dev Center
#Heroku