Google App Engine PHP 7.2 で siler を動かしてみる
先日 PHP の Web フレームワーク siler の開発環境を Docker で作成しましたが、今回は GAE
にデプロイして動作確認してみました
検証環境
Windows10 Home Edition VirtualBox 5.2.16 Docker version 18.05.0-ce, build f150324 docker-machine version 0.14.0, build 89b8332 docker-compose version 1.20.1, build 5d8c71b
siler の開発環境について
こちらの記事の手順で作成します。今回はこれに GAE
のデプロイ設定を追加します
takaya030.hatenablog.com
ディレクトリ構成
前回から app.yaml
と gcloud_config
フォルダが追加されています
siler |---app.Dockerfile |---data.Dockerfile |---docker-compose.yml |---php72.Dockerfile | |---data | |---www | |---app.yaml | |---composer | |---gcloud_config
各種設定ファイル
差分のみ掲載
data.Dockerfile
--- data.Dockerfile.old Sun Oct 14 17:38:22 2018 +++ data.Dockerfile Sun Oct 14 15:23:43 2018 @@ -2,6 +2,7 @@ LABEL maintainer "takaya030" RUN mkdir -p /data \ - && mkdir -p /home/docker/.composer -VOLUME ["/data","/home/docker/.composer"] + && mkdir -p /home/docker/.composer \ + && mkdir -p /root/.config +VOLUME ["/data","/home/docker/.composer","/root/.config"] CMD ["true"]
docker-compose.yml
--- docker-compose.yml.old Sun Oct 14 17:41:04 2018 +++ docker-compose.yml Sun Oct 14 16:20:07 2018 @@ -7,6 +7,7 @@ volumes: - ./data:/data - ./composer:/home/docker/.composer + - ./gcloud_config:/root/.config base: build: context: . @@ -25,3 +26,9 @@ command: ["composer","serve"] depends_on: - base + sdk: + image: google/cloud-sdk:alpine + volumes_from: + - data + working_dir: "/data/www" + command: ["gcloud","version"]
data/www/app.yaml
このファイルは新規追加となります
runtime: php72 api_version: 1
data イメージのリビルド
data.Dockerfile
を変更したのでリビルドする
$ docker-compose build data
起動確認
data
コンテナの作り直しと動作確認のため一度ローカルで起動します
$ docker-compose up -d
gcloud 設定
下記コマンドで App Engine
のアカウントおよびプロジェクトの設定を行います
$ docker-compose run --rm sdk gcloud init --console-only
プロジェクトの設定完了後、追加で以下の設定を行います
$ docker-compose run --rm sdk gcloud config set core/disable_usage_reporting true $ docker-compose run --rm sdk gcloud config set component_manager/disable_update_check true $ docker-compose run --rm sdk gcloud config set metrics/environment github_docker_image
設定内容は以下のコマンドで確認します
$ docker-compose run --rm sdk gcloud info
Cloud Build API の有効化
GAE/PHP7.2
はデプロイ時に Cloud Build API
にアクセスします。有効化していない場合は事前にコンソールで有効化します
デプロイ
下記コマンドで GAE
に siler
のソースコードをデプロイします
( -v
で指定しているバージョン番号は任意で OK です)
$ docker-compose run --rm sdk gcloud app deploy -v d001
デプロイに成功した場合、以下のメッセージが表示されます
File upload done. Updating service [default]...done. Setting traffic split for service [default]...done. Deployed service [default] to [https://siler-test.appspot.com] You can stream logs from the command line by running: $ gcloud app logs tail -s default To view your application in the web browser run: $ gcloud app browse
動作確認
デプロイ成功時のメッセージに表示されている URL にアクセスして Hello World が表示されれば成功です