github リポジトリで管理済み、HerokuCli使える状態
プロジェクトフォルダの直下にProcfileファイルを作る
touch Procfile (下記を貼り付ける) web: vendor/bin/heroku-php-apache2 public/
//herokuログイン $ heroku login //Herokuアプリ追加 $ heroku create {アプリケーション名} ※アプリケーション名を入れなければ自動で付けられます(後でも変更可能) //buildpack入れる $ heroku buildpacks:set heroku/php -a {アプリケーション名} $ heroku buildpacks:add heroku/nodejs -a {アプリケーション名} //Heroku APIキー生成(またはHerokuのSettingsに直接APP_KEYを設定) $ heroku config:set APP_KEY=$(php artisan key:generate --show) -a {アプリケーション名}
1 プロジェクトフォルダ側
app\Providers\AppServiceProvider.phpに以下を追加する。
use Illuminate\Support\Facades\Schema; public function boot() { Schema::defaultStringLength(191); }
2 heroku
//herokuのアドオンにcleardbを作成する $ heroku addons:add cleardb $ heroku config | grep CLEARDB_DATABASE_URL # 結果: メモしよう CLEARDB_DATABASE_URL: mysql://[ユーザー名]:[パスワード]@[ホスト名]/[データベース名]?reconnect=true $ heroku config:set DB_DATABASE=[データベース名] $ heroku config:set DB_HOST=[ホスト名] $ heroku config:set DB_USERNAME=[ユーザー名] $ heroku config:set DB_PASSWORD=[パスワード]
その他もろもろのenvの設定はコマンドより、HerokuのSettingsからの方が楽だ!!
Gitリポジトリへソースコードをpushすることでアプリケーションを deployできる
ダッシュボードの「Deploy」→Deployment method欄
Heroku Gitは git push heroku master で deployする時の状態なので
「GitHub」をクリック、Connect to GitHub」ボタンをクリック。GitHubでの認可画面で「Authorize heroku」→nameへ入力し「Search」→Automatic deploys
ちなみに下記でもHerokuへのデプロイが開始される
$ heroku git:remote -a herokuのアプリケーション名 //以下が表示 set git remote heroku to https://git.heroku.com/herokuのアプリケーション名.git //以下のGitコマンドを実行 $ git push heroku master
//migrate $ heroku run php artisan migrate // Class 'Faker\Factory' not found エラーが出たとき(fakerを使用している場合)fzaninotto/fakerをインストールする $ composer require fzaninotto/faker (本番環境備忘録) //デバッグモードを無効に $ heroku config:set DEBUGBAR_ENABLED=false //production modeにする $ npm run prod
//herokuログイン $ heroku login //Herokuアプリ描画 $ heroku open -a アプリケーション名 #App指定する場合 //追加したaddon一覧 $ heroku addons //デプロイ時のログをターミナル上に表示 $ heroku logs //heroku上のデータベースを設定 $ heroku run コマンド //アプリを削除する(確認なし) $ heroku apps:destroy --app アプリ名 --confirm アプリ名
定期的に自動でサイトにアクセスしてくれる(無料) UptimeRobot