わいの日記

ありがちエンジニアブログ

LaravelをGAE(google app engine)にデプロイするよ

GCPと仲良くなりたい

※あらかじめgcpのプロジェクトを作成しておいてください

適当にLaravelのプロジェクトを作成します

php artisan serve

http://127.0.0.1:8000 にアクセスし、動作確認

f:id:exhikkii:20180903195127p:plain

GAEへのデプロイはapp.yamlで設定します

runtime: php // 言語はphp
env: flex // GAEはstandardではなくflexible使うよ

runtime_config:
  document_root: public

skip_files: // ここに指定したものはGAEにアップロードされない
  - .env // セキュリティの観点から.envはあげない

env_variables:
  APP_LOG: errorlog
  APP_KEY: YOUR_APP_KEY
  STORAGE_DIR: /tmp

YOUR_APP_KEYには下記コマンドで表示された値を入れてください

php artisan key:generate --show

次にcomposer.jsonのscriptsに下記を追記
gaeがcacheを読み書きできるようにして、
あらかじめキャッシュをクリアしてます

"post-install-cmd": [
    "chmod -R 755 bootstrap\/cache",
    "php artisan cache:clear"
]

f:id:exhikkii:20180903200611p:plain

ようやくデプロイします

gcloud app deploy

これで以下にアクセスすればトップページが表示されるはずです
https://YOUR_PROJECT_ID.appspot.com