Cloud Shellの話を聞いて、早速GAEのHello Worldをやってみました。
Cloud Shellを有効にする
右上のシェルっぽいボタンを押して有効化します。
その後下記のようなコマンドが実行されました。 しかし、test-project.appspot.comは404でみつかりません。
$ gcloud compute instances list
$ git clone https://github.com/GoogleCloud/appengine-example.git
$ cd appengine-example
$ appcfg.py -A test-project update app.yaml
test-projectは気にせずCloud Shellの起動
を押して起動します
そうするとブラウザ上でシェルのような画面が表示されます。
デフォルトでgcloud
だったり、Python
はインストールされています
他にもリンク先にあるようなものがインストール済みです。
https://cloud.google.com/shell/docs/features#tools
GAEのソースを書く
Cloud Shell上でコードを書く場合は、ファイルをアップロードしたりコードエディタ上で編集します。
ここではコードエディターを使ってコードを書きます
左のツリーを右クリックすると、フォルダやファイルを追加できます。
hello-gae
フォルダを追加して、その下にapp.yaml
とmain.py
を追加しています。
app.yaml
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: .*
script: main.app
libraries:
- name: webapp2
version: "2.5.2"
main.py
# coding: utf-8
import webapp2
class MainHandler(webapp2.RequestHandler):
def get(self):
self.response.write('Hello Cloud Shell')
app = webapp2.WSGIApplication([
('/', MainHandler)
], debug=True)
開発サーバを起動する
コードが準備できたらコーンソールの方でコマンドを入力します。
$ cd hello-gae
$ dev_appsever.py . #アンダーバーが入力できずにコピペしました
開発サーバが起動したら左上にあるウェブでプレビュー
- ポート上でプレビュー 8080
をクリックすると起動します。
デプロイ
gcloudコマンドでデプロイします
$ gcloud app deploy --project {ApplicationID} # {ApplicationID}は各自のアプリケーションIDに置き換える
gcloudでデプロイする場合は、app.yamlにApplicationIDやVersionがあるとエラーになりました。
デプロイが完了したら http://{ApplicationID}.appspot.com にアクセスして確認します。
以上で、Cloud Shellを使ってのGAEのHello Worldが完了です。
所感
Cloud Shellは手元にCloud SDKなどが用意できない場合には重宝しそうです。
次回のGCPUG NagoyaではCloud Shellを使ってのハンズオンもいいかなと思いました。