今更だが、GAE/Goを試してみたので一応そのときのメモを残す。
基本的には以下のURLをもとに試してみた。
https://console.developers.google.com/start/appengine?_ga=1.131631439.1763681731.1414457689
準備
Google Cloud SDKと、Go用のApp Engineパッケージのインストールを行う。
$ curl https://sdk.cloud.google.com/ | bash
$ gcloud auth login
$ gcloud components update gae-go
昔、Google App Engine/Pythonで開発していたときと大分変わっている。
Goプログラムを書く
サンプルもあるが、せっかくなので書いている。(サンプルのまま)
hello.go
package hello
import (
"fmt"
"net/http"
)
func init() {
http.HandleFunc("/", handler)
}
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "Hello, world!")
}
app.yaml
application: helloworld
version: 1
runtime: go
api_version: go1
handlers:
- url: /.*
script: _go_app
起動してみる
$ goapp serve .
コンパイルエラーなどがなければ、以下のアドレスで見ることが出来る。
また管理画面も以下のアドレスから見ることが出来る。
http://localhost:8000/
App EngineにDeployしてみる
以下のページから、プロジェクトを作成する
https://console.developers.google.com/project
プロジェクトが作成されたら、以下のコマンドでDeployすることができる。
$ goapp deploy -oauth -application [project id] .
Deployが終わったら、以下のようなアドレスでブラウザから確認できる。
http://[poject id].appspot.com/