##HerokuにLaradockをデプロイする流れ
###ファイル構造
laravel_app
|--laradock
|--laravel
わかりづらいですが、Laravel_appディレクトリにlaradockとlaravelがあります。
(laravelディレクトリにlaravelが入っています)
###手順
laravelのアプリケーションは既に作ってあると想定しています。
$pwd
laravel_app
$heroku login //herokuにログイン
$git init
$git add .
$git commit -m "first commit" //とりあえずコミット。
$heroku create アプリ名 //herokuにアプリ作成
Creating ⬢ アプリ名... done
https://アプリ名.herokuapp.com/ | https://git.heroku.com/任意のアプリ名.git
$git remote -v
heroku https://git.heroku.com/アプリ名.git (fetch)
heroku https://git.heroku.com/アプリ名.git (push)
$cd laravel
$pwd
laravel_app/laravel //laravelディレクトリの中に作成。結構重要
$echo "web: bendor/vin/heroku-php-apache2 public/" > Procfile
$cd ..
$pwd
laravel_app
$git add .
$git commit -m "add porcfile" //ここまでコミット
$cd laradock
$docker-compose exec workspace bash
#cd laravel
#php artisan --no-ansi key:generate --show //APP_KEYを生成
base64:××××××××××××××
#exit
$cd ..
$pwd
laravel_app
$heroku config:set APP_KEY=base64:×××××××××××××× //herokuにAPP_KEYを設定
$git subtree push --prefix laravel/ heroku master //laravelディレクト以下をherokuにpush
//herokuにデータベース作成
$heroku addons:add heroku-postgresql //herokuにPostgresqlを作成
$heroku config
=== [アプリケーション名] Config Vars
APP_KEY: base64:××××××××××××××
DATABASE_URL: postgres://[ユーザ名]:[パスワード]@[ホスト名]:[ポート]/[データベース名]
$ heroku config:set DB_CONNECTION=pgsql
$ heroku config:set DB_USERNAME=ユーザ名
$ heroku config:set DB_PASSWORD=パスワード
$ heroku config:set DB_HOST=ホスト名
$ heroku config:set DB_DATABASE=データベース名
$ heroku config
=== [アプリケーション名] Config Vars
APP_KEY: base64:××××××××××××××
DATABASE_URL: postgres://[ユーザ名]:[パスワード]@[ホスト名]:[ポート]/[データベース名]
DB_CONNECTION: pgsql
DB_USERNAME: ユーザ名
DB_PASSWORD: パスワード
DB_HOST: ホスト名
DB_DATABASE: データベース名
$heroku php artisan migrate
//マイグレーションの途中でyes/noで聞かれたらyes
//実行できたら成功
$heroku open
//ブラウザに表示
###気をつけるところ
・Procfileを追加する時、laravelの入っているディレクトリで行う。
・その他
herokuはgithubと連携できるので、連携してpushとかbuidとかしても良い。