• 検索結果がありません。

第 9 章 アプリケーションのデプロイ 49

9.2 デプロイの仕方

GAEアプリケーションをデプロイするには、作成したGAEアプリケーションを、どこに対してデプロイをする のかを設定します。そのためには、app.yamlを修正します。

修正ができたら、App Launcherを使ってデプロイを実行します。

手順

1. 設定ファイルの修正 2. デプロイする

9.2.1 手順 1. 設定ファイルの修正

app.yamlのapplicationの値をGCPのプロジェクトIDに変更します。(※XXXXXは前章で作成した5桁の数 字を設定します。)

application: cloud-mobile-helloworld-XXXXX

第 9

アプリケーションのデプロイ

9.1 デプロイとは

作成したWebアプリケーションをサーバにアップロードし、システムを利用可能な状態にすることです。ここで は、開発マシン上のHelloWorldアプリケーションを、Googleのクラウドサービスにアップロードし、インター ネット経由で誰からも利用可能な状態にします。

9.2 デプロイの仕方

GAEアプリケーションをデプロイするには、作成したGAEアプリケーションを、どこに対してデプロイをする のかを設定します。そのためには、app.yamlを修正します。

修正ができたら、App Launcherを使ってデプロイを実行します。

手順

1. 設定ファイルの修正 2. デプロイする

9.2.1 手順 1. 設定ファイルの修正

app.yamlのapplicationの値をGCPのプロジェクトIDに変更します。(※XXXXXは前章で作成した5桁の数 字を設定します。)

application: cloud-mobile-helloworld-XXXXX

9.2.2 手順 2. デプロイする

• GoogleAppEngineLauncherの[Deploy]ボタンをクリックします。

• ブラウザが起動し、次のようなページが表示されるので、[許可]ボタンをクリックします。

• 画面が切り替わり、“The authentication flow has completed.”と表示されていることを確認します。

509章 アプリケーションのデプロイ

9.2.3 確認

ブラウザから、”http://cloud-mobile-helloworld-XXXXX.appspot.com“にアクセスし、 次のような画面になっ ていることを確認します。

9.2. デプロイの仕方 51

9.2.2 手順 2. デプロイする

• GoogleAppEngineLauncherの[Deploy]ボタンをクリックします。

• ブラウザが起動し、次のようなページが表示されるので、[許可]ボタンをクリックします。

• 画面が切り替わり、“The authentication flow has completed.”と表示されていることを確認します。

509章 アプリケーションのデプロイ

9.2.3 確認

ブラウザから、”http://cloud-mobile-helloworld-XXXXX.appspot.com“にアクセスし、 次のような画面になっ ていることを確認します。

9.2. デプロイの仕方 51

第 10

Web ページの追加

10.1 webapp2 フレームワーク

App Engineにはwebapp2と呼ばれるWebアプリケーション フレームワークが提供されています。webapp2フ レームワークはApp Engine環境とSDKに既にインストール済みで,アプリケーションで使う時に用意する必要 はありません。

10.1.1 webapp2 の構造

webapp2アプリケーションは2つの部分に分かれます。

• 1つまたは複数のリクエストを処理してレスポンスを生成するRequestHandlerクラス

• 受信したリクエストをURLに基いてハンドラにルーティングするWSGIアプリケーションのインスタンス

1 #!/usr/bin/env python

2 #

3 # ......

4 #

5 import webapp2

6

7 class MainHandler(webapp2.RequestHandler):

8 def get(self):

9 self.response.write('Hello world!')

10

11 app = webapp2.WSGIApplication([

12 ('/', MainHandler)

13 ], debug=True)

第 10

Web ページの追加

10.1 webapp2 フレームワーク

App Engineにはwebapp2と呼ばれるWebアプリケーション フレームワークが提供されています。webapp2フ レームワークはApp Engine環境とSDKに既にインストール済みで,アプリケーションで使う時に用意する必要 はありません。

10.1.1 webapp2 の構造

webapp2アプリケーションは2つの部分に分かれます。

• 1つまたは複数のリクエストを処理してレスポンスを生成するRequestHandlerクラス

• 受信したリクエストをURLに基いてハンドラにルーティングするWSGIアプリケーションのインスタンス

1 #!/usr/bin/env python

2 #

3 # ......

4 #

5 import webapp2

6

7 class MainHandler(webapp2.RequestHandler):

8 def get(self):

9 self.response.write('Hello world!')

10

11 app = webapp2.WSGIApplication([

12 ('/', MainHandler)

13 ], debug=True)

webapp2の役割

call MainHandlerの部分は、MainHandlerをリクエストハンドラとして定義し,ルートのURL ( / )に対応づけて います。webapp2がURL /に対するHTTP GETリクエストを受け取ったとき,MainPageクラスをインスタンス 化してインスタンスのgetメソッドを呼びます。メソッドの中では,リクエストに関する情報がself.requestを通 して知ることができます。

通常,このメソッドはレスポンスの準備をするself.responseにプロパティを設定して終了します。webapp2は

MainPageインスタンスの最終状態に基づいてレスポンスを送信します。

アプリケーション自身はwebapp2.WSGIApplicationインスタンスで表現されます。そのコンストラクタに渡され るパラメータdebug=trueはハンドラにエラーが発生したかキャッチされない例外が発生した場合,webapp2にブ ラウザ出力へのスタックトレースの発行を指示します。