recolog

@t0m0120

LaravelをGAEにアップ試してみた

October 11, 2019

手軽にLaravelデプロイできる環境ないか聞かれてパッと思いついたのがGAEだったのでチュートリアル走らせた試し。

App Engine スタンダード環境での Laravel - Google Cloud

検索タイトル日本語だが翻訳されてない。

GCP Consoleから適当にprojectを作成

課金を有効にしておく(GCP入ったすぐなら3万入ってるはず)

GoogleCloudSDK

LaravelのInstallationに従って

homebrewか何かでcomposer入れておく

composerでインストールする
composer global require "laravel/installer"

.zshrcとかにpath通しておく

$HOME/.composer/vendor/bin

$ laravel new blog
$ cd blog
$ php artisan serve

でlocalhost:8000にLaravelWelcomePageが開くか確認する

Deploy方法

app.yamlをプロジェクトフォルダに作成する。

runtime: php72

env_variables:
  ## Put production environment variables here.
  APP_KEY: YOUR_APP_KEY
  APP_STORAGE: /tmp
  VIEW_COMPILED_PATH: /tmp
  SESSION_DRIVER: cookie

laravelに含まれるArtisanからキーを作成してapp.yamlを入れる

$ php artisan key:generate --show
$ sed -i '' "s#YOUR_APP_KEY#$(php artisan key:generate --show --no-ansi)#" app.yaml

bootstrap/app.phpreturn $app;前へ下記を追加する

# [START] Add the following block to `bootstrap/app.php`
/*
|--------------------------------------------------------------------------
| Set Storage Path
|--------------------------------------------------------------------------
|
| This script allows you to override the default storage location used by
| the  application.  You may set the APP_STORAGE environment variable
| in your .env file,  if not set the default location will be used
|
*/
$app->useStoragePath(env('APP_STORAGE', base_path() . '/storage'));
# [END]

beyondcode/laravel-dump-serverのキャッシュが悪さするらしいので下記で取り除く

$ composer remove --dev beyondcode/laravel-dump-server

次のコマンドを実行してアプリをデプロイする。

$ gcloud app deploy

http://YOUR_PROJECT_ID.appspot.comでウェルカムページが表示される。