Google Cloud Builder を使って PHP7.2 のアプリケーションを GAE に継続的デプロイする
Monday, September 24, 2018 06:52:00 PM
この記事は、PHPカンファレンス関西2018に参加してGAEに継続的デプロイする方法について発表してきましたの中で紹介しているGoogle Cloud Builderを利用してGAEのPHP SEへ自動デプロイするサンプルコードを最新に更新した解説記事です。
何が変わったのか?
PHPカンファレンス関西2018時点では以下のようになっていました。
- GAEのPHPは5.5
- Google Cloud Container Builder を利用
今日では以下のようになっています。
- GAEのPHPで7.2が利用可能に
- Cloud Container Builder は Cloud Build という名前に変更
gcloud コマンド利用上での変更
Dockerのバージョンがあがったことで gcloud
コマンドから docker
コマンドを実行するときに認証設定が必要になりました。
READMEにも反映していますが、以下のコマンドを実行しておく必要があります。
$ gcloud auth configure-docker
gcloud
コマンドをアップデートしてみましたが、「PUSH TO DEPLOY のトリガーをセットする」については、まだできませんでした。
projects.builds/create APIは実装されているようなので、CLIから実行できるようになるのを心待ちにしています。
composer イメージの更新
PHP7.2を利用できるようになったので、 composer/composer:php5
のDockerイメージを composer/composer:alpine
に変更しました。
composer/composer
でも良かったのですが、 alpine
ベースの方が軽量だし、いいですよね。
app.yaml の更新
基本的にここがメインなのですが、以下のような変更点があります。
- runtime を
php72
に変更 handlers
のapplication_readable
は常にtrue
にskip_files
でデプロイしないファイルの指定は.gcloudignore
ファイルへ移行する/
アクセスされたときのscript
指定はauto
に(ただしindex.php
かpublic/index.php
の場合のみで、他はパスを指定)
こういった変更は、Compatibility issues between PHP 5.5 and PHP 7.2にまとめられています。
※ skip_files
については書いていないので、実際にマイグレーションして確認は必要です(これは5.5から7.2の変更というよりは gcloud
コマンドのバージョンアップに伴うものだから書いていないのかもしれないです)。
デプロイしてみよう
あとは、用意したコマンドを順番に実行してデプロイ環境を整備してから、 git push
するだけで、PHP7.2のアプリケーションがデプロイできます。
githubのリポジトリが Cloud Source Repositories
にミラーされるところなどは変わっていませんでした。
さいごに
この内容は プレPHPカンファレンス北海道 で発表する予定だったのですが、地震の影響でイベントが中止となったため、このブログにまとめました。
どこかで機会があれば、GAEとPHP7.2について発表してみたいなと思います。