暇人じゃない

GAE/Go チュートリアルメモ: SDK、開発サーバー、デプロイ

Snapchatを支える技術:768台のRedisをGoogleクラウドで構築 - Qiita を読んで GAE を試したくなった。 そこで GAE の Go チュートリアルをやったのでメモ。環境は Mac OS X 10.9.2。

GAE は 4 年前に Python を少し動かした程度。Go はほぼ初心者。

Google App Engine SDK for Go インストール

Homebrew で。Go も入っている:

brew install go-app-engine-64

開発サーバー

開発サーバーを起動:

goapp serve

goapp コマンドは dev_appserver.py をラップしたもの。 -h オプションでポートを指定するためのオプションなどを確認できる。

以下の URL にアクセスできるようになる:

コードが変更されたら新しいコードを読み込んでくれる。

デプロイ

あらかじめ App Engine Console でアプリケーションを作成しておく。

GAE にデプロイ:

goapp deploy

2 分程待っても完了しないので一旦 Ctrl-C で止めた後に、再度デプロイ しようとしたらエラーになった。

以下のコマンドでロールバックすることで解決:

appcfg.py rollback .

初回デプロイは時間がかかるようだ。10 分程かかった。

デプロイ後も Datastore のインデックスを構築するためもう少し待たされる。 インデックスの構築ステータスはコンソールの Datastore Indexes から確認できる。 構築ステータスが Building から Serving になったら準備完了。

自分のアプリケーション(http://your_app_id.appspot.com/)にアクセスすると、 チュートリアルで作成したゲストブックが表示される。


チュートリアルは親切で分かりやすいと思う。セットアップは簡単だし、 コマンドは分かりやすいし、Go も親しみやすい。

Hello, world! から始まり、html/template というテンプレートエンジン、 Google ユーザーアカウントを使用したログイン処理、 Datastore を使用したゲストブックの作成、GAE へのデプロイを学べる。

取っ掛かりとしては良いと思った。

チュートリアルで書いたコードは以下に置いている:
https://github.com/chocoby/tutorials/tree/master/gae-golang


まずは小さいアプリを GAE/Go で作りたい。