Google App Engineでアプリのバージョンを管理する
Google App Engineでapp.yamlファイル内に設定する、
「version: ・・・」の設定をちゃんと利用すると、
Google App Engineでアプリのバージョン管理が便利に行えます。
また実際に公開する前に新バージョンのプレビューなども行えますのでご紹介しておきます。
概要
Google App Engineでアプリのバージョンを管理する
Google App Engineでapp.yamlファイル内に
設定するバージョンを利用しているでしょうか。
この設定を変更するとGoogle App Engine内で過去のバージョンを保持して、
新しいバージョンを公開したりといった使い方ができます。
app.yamlファイルのバージョン設定は、2行目のような指定です。
ここでは分かりやすく「version1」としていますが文字は何でも構いません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
application: version-demo version: version1 runtime: php api_version: 1 handlers: - url: /static static_dir: static expiration: 30d - url: /favicon.ico static_files: static/favicon.ico upload: static/favicon.ico expiration: 30d - url: /shell.do script: shell.php - url: /reset.do script: reset.php - url: .* script: frontpage.php |
サンプルアプリを元にした例ですが、
このアプリを実際にデプロイして動作を見ていきます。
デプロイ前の状態
この「version-demo」アプリをGoogle App Engineに作成してすぐの状態で、
Google App Engine アプリケーションOverView にてアプリ一覧を確認します。
対象のアプリは「None Deployed」というステータスになっています。
アプリのバージョンを確認するにはサイドメニューで[Versions]を選択すると確認できますが、
デプロイ前はバージョンは表示されません。
アプリケーションのデプロイ
上記のapp.yamlファイルにてアプリを、
デプロイをGoogle App Engine Launcherから実行します。
デプロイを行ってアプリのアップロードを行うとステータスが「Running」に変わります。
アプリを実際に表示すると正しくサンプルアプリが公開されています。
バージョンを確認してみます。
app.yamlファイルの「version: version1」と指定した文字で、
バージョンが登録されています。
同じapp.yamlファイルのバージョン名でアプリを再度デプロイすると、
既存のバージョンが更新されていきます。(上書き)
アプリケーションのバージョン変更デプロイ
さて、ここでもしサイトやアプリの変更が大幅である場合などに、
元のバージョンに戻せるような形でデプロイができたら便利だなと思うかもしれません。
そんな場合には、デプロイする前に
app.yamlファイルの「version: version1」と指定した文字を変更しておきます。
例えば「version: version2」と変更します。
※当然、他のファイルも実際には何かしらの変更を行っていることと思います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
application: version-demo version: version2 runtime: php api_version: 1 handlers: - url: /static static_dir: static expiration: 30d - url: /favicon.ico static_files: static/favicon.ico upload: static/favicon.ico expiration: 30d - url: /shell.do script: shell.php - url: /reset.do script: reset.php - url: .* script: frontpage.php |
こうしてapp.yamlファイルのバージョンを変更したのちに、
デプロイをGoogle App Engine Launcherから実行します。
バージョンを変更してデプロイを行うと、
デプロイ中のコンソールウィンドウにもバージョンが表示されています。
デプロイが完了したらバージョンを確認してみます。
新しく変更した「version2」が作成されています。
ですが、ここではまだ「version2」は有効になっていません。
Defaultに指定されているものが現在公開されているバージョンです。
各バージョンの横にあるポップアップアイコンをクリックすると、
それぞれのバージョンの表示を確認することができるようになっています。
デモURL(確認用URL)は、バージョン名のサブドメイン形式で表示されます。
新しいバージョンを有効にして公開するには、
ラジオボタンで有効にしたいバージョンを選択し[Make Default]をクリックします。
すぐに選択したバージョンが有効にされ、公開されます。
このようにして、大幅な変更などを伴う場合には、
app.yamlにてバージョンを変更することで新規のバージョンと旧バージョンを保持して、
アプリのデプロイが行えます。
実際のバージョン表示例
中身自体は変わりませんのでバージョンのみ変更した状態ですが、
WordPressの動作環境にて以下でバージョンのサブドメイン形式表示が確認できます。
デモ環境の公開URLは以下のURLです。
http://sandbox-wp40jp.appspot.com/
このでも環境には、以下のようなバージョンが存在しています。
- wpsandbox40ja
- wpsandbox40ja001 (Default:公開バージョン)
その為、以下のURLでアクセスを行うことでもサイトの確認が行えます。
どちらのURLでアクセスしてもWordPressが表示されるのが分かります。
http://wpsandbox40ja.sandbox-wp40jp.appspot.com/
http://wpsandbox40ja001.sandbox-wp40jp.appspot.com/
ただし、リンク先のURLなどの置換は行われていませんので、
リンクをクリックした場合には、
正規のURL(http://sandbox-wp40jp.appspot.com/)へリンクされてしまいます。
指定ページの確認例
これでは目的のページの表示確認ができないことになりますが、
この点は直接URLを指定することで代用が可能です。
例えば、Hello World投稿の表示確認が行いたい場合には、
正規のURLは以下のURLになります。
https://sandbox-wp40jp.appspot.com/2014/09/hello-world/
これをそれぞれの確認用URLを直接指定すれば、表示の確認ができます。
http://wpsandbox40ja.sandbox-wp40jp.appspot.com/2014/09/hello-world/
http://wpsandbox40ja001.sandbox-wp40jp.appspot.com/2014/09/hello-world/
このようにして各バージョンのプレビューを利用することもできます。
さいごに
こうした表示確認を利用するとサイトの変更を公開前にチェックしたり、
公開した後に元のバージョンに戻したりすることができるようになります。
当然ですが参照先のデータベース(wp-config.php指定)などの変更を行わないで、
同じデータベースを参照している限りは、
テーマの変更やプラグインの有効化などは共通となります。
そうした検証にはこの確認URLは利用できません。
あくまでもファイルベースで変更を行ったものに対してのみ有効です。
十分にローカル環境で検証を行った後に本番環境で適用するようにしましょう。
Google™はGoogle Inc. の登録商標(第4478963号及び第4906016号)です。
GoogleロゴはGoogle Inc. の国際登録商標です。
国際登録番号:881006及び926052及び1086299及び1091990及び1145934
公開日: