-
Notifications
You must be signed in to change notification settings - Fork 1
heroku deploy
y.imamura edited this page May 26, 2018
·
6 revisions
https://signup.heroku.com/login 会員登録は済ませておく。
$ vagrant ssh
$ cd project_name
$ heroku login
heroku: Enter your login credentials
Email: hogehoge@example.com
Password: ****************
Logged in as hogehoge@example.com
$ heroku create app-name
Creating ⬢ ucan-microposts... done
https://app-name.herokuapp.com/ | https://git.heroku.com/app-name.git
- アプリ名は例として
app-name
とします - アプリ名は英字(小文字のみ)、数字(0-9)、ダッシュ(-)が使用可能
- アプリ名は英字から始める必要がある
- 他ユーザーのアプリ含めてユニークなアプリ名にする
- アプリ名を指定しない場合は自動生成される(あとから変更可能)
https://dashboard.heroku.com/apps Herokuのダッシュボードへアクセスするとアプリが作成されていることを確認できます。 また、gitにheroku用のリモートリポジトリが作成されます。
$ git remote -v
heroku https://git.heroku.com/app-name.git (fetch)
heroku https://git.heroku.com/app-name.git (push)
$ cat << EOS | tee Procfile
web: vendor/bin/heroku-php-apache2 public/
EOS
$ git add Procfile
$ git commit -m 'Procfile'
$ git push heroku master
この時点ではソースコードがherokuにpushされただけなので、アプリのURL(https://app-name.herokuapp.com )へアクセスしてもエラーとなります。
$ heroku config:set APP_KEY=$(php artisan --no-ansi key:generate --show)
$ heroku config:set APP_LOG=errorlog
$ heroku config:set APP_DEBUG=true
- APP_KEY の設定がないとLaravelが動作しません
- APP_LOG
heroku logs
でエラーログを参照できるようになります - APP_DEBUG ブラウザにエラー内容を表示します
$ heroku config
APP_KEY, APP_LOG, APP_DEBUG が設定されたことを確認する。
Herokuの標準データベースはPostgreSQLです。
アドオンを追加してPostgreSQLのデータベースを作成します。
$ heroku addons:create heroku-postgresql:hobby-dev
Creating heroku-postgresql:hobby-dev on ⬢ app-name... free
Database has been created and is available
! This database is empty. If upgrading, you can transfer
! data from another database with pg:copy
Created postgresql-contoured-123456 as DATABASE_URL
データベースを作成したら、環境変数 DATABASE_URL が設定されます。
$ heroku config
DATABASE_URL: postgres://pqvaex93avt1:66e164d7844aba83b806c586x6191ae80a1el485d8e19b3da449a721e253a7d1@ec2-54-97-192-144.compute-1.amazonaws.com:5432/d79f8aic890ksh
例として DATABASE_URL
の具体例を表示しています。
DATABASE_URL の構成は下記になります。
DATABASE_URL: postgres://ユーザ名:パスワード@ホスト名:5432/データベース名
また、作成したデータベースは Heroku Data ページから確認できます。
$ heroku config:set DB_CONNECTION=pgsql
$ heroku config:set DB_USERNAME=pqvaex93avt1
$ heroku config:set DB_PASSWORD=66e164d7844aba83b806c586x6191ae80a1el485d8e19b3da449a721e253a7d1
$ heroku config:set DB_HOST=ec2-54-97-192-144.compute-1.amazonaws.com
$ heroku config:set DB_DATABASE=d79f8aic890ksh
DATABASE_URLの値に合わせて書き換えて環境変数を設定してください。
$ heroku run php artisan migrate --force
heroku open でデプロイしたアプリにアクセスして確認します。
$ heroku open
▸ Error opening web browser.
▸ Error: Exited with code 3
▸
▸ Manually visit https://app-name.herokuapp.com/ in your browser.
Vagrant上にブラウザがないため開けなくてエラーになります。
https://app-name.herokuapp.com へ直接アクセスして、正常に表示されればデプロイ成功です。