goでGAEアプリケーションを作成する
手順
Mac OS X Yosemite(10.10.4)上でgo GAEアプリケーションを作成する。
- GAE SDKをインストールする
- configファイルを作成する
- goファイルを作成する
- 実行する
2ファイル作成する。
$ tree . ├── app.yaml └── todo.go
GAE SDKをインストールする
brewを使ってインストールする。
$ brew install go-app-engine-64
configファイルを作成する
アプリケーション情報をyaml形式で記述する。 ファイル名は、app.yaml固定。
アプリケーションは、デベロッパーコンソールで作成しておく。
application: go-todo-20150721 # 作成したアプリのプロジェクトID version: 1 runtime: go api_version: go1 handlers: - url: /.* script: _go_app
goファイルを作成する
ListenAndServeは不要。
1 package todo package todo import ( "fmt" "net/http" ) func init() { http.HandleFunc("/", handler) } func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "Hello World") }
実行する
実行中にファイル名を変更しても追従してくれる。
[~/work/gae/go-todo]$ goapp serve INFO 2015-07-20 20:58:25,578 devappserver2.py:762] Skipping SDK update check. INFO 2015-07-20 20:58:25,657 api_server.py:204] Starting API server at: http://localhost:51635 INFO 2015-07-20 20:58:25,660 dispatcher.py:197] Starting module "default" running at: http://localhost:8080 INFO 2015-07-20 20:58:25,662 admin_server.py:118] Starting admin server at: http://localhost:8000 INFO 2015-07-20 20:59:17,148 module.py:809] default: "GET / HTTP/1.1" 200 11 INFO 2015-07-20 21:00:24,411 module.py:442] [default] Detected file changes: /Users/unokun/work/gae/go-todo/hello.go /Users/unokun/work/gae/go-todo/todo.go INFO 2015-07-20 21:00:36,615 module.py:442] [default] Detected file changes: /Users/unokun/work/gae/go-todo/todo.go