以下のリンクを参考に進めます。
PaaS最前線!たったの15分でできるGAE/GO入門!
環境構築
AppEngine SDKのインストール
以下のリンクよりAppEngine SDKをダウンロードします。
Download and Install the SDK for App Engine
リンクを開くとGO、Java、PHP、Pythonとボタンが表示されているので、GOボタンをクリック。
次に、LINUX、MAC OS X、WINDOWSから選択。(64bit、32bitも選ぶ)
ダウンロードが開始されるのでアーカイブを適当な場所で解凍します。
環境変数を.bash_profileに追加。
export PATH=$PATH:DIRECTORY_PATH/go_appengine_sdk_OS_BIT-1.9.40/
と書いていますが、下記の記述で大丈夫でした。
export PATH=$PATH:$HOME/go_appengine/
pythonのバージョン確認
$ /usr/bin/env python -V
Python2.7が必須となります。
goappのバージョン確認
$ goapp version
go version go1.6.2 (appengine-1.9.40) darwin/amd64
これで準備が整いました。
hello world
helloworldをローカル環境で試すには以下の手順を行います。
- hello.goファイルの作成
- app.yamlファイルの作成
- goapp serve コマンドで実行後、ブラウザで確認。
まずは、作業ディレクトリを作成。
$ mkdir helloworld
$ cd helloworld
hello.goファイルを作成
$ vi hello.go
package hello
import (
"fmt"
"net/http"
)
func init() {
http.HandleFunc("/hello", handler)
}
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "Hello, world!")
}
ファイルを保存した後、以下のコマンドを実行することで、行間やインデントなど、自動で整形してくれます。
$ go fmt hello.go
app.yamlファイルを作成
$ vi app.yaml
application: helloworld
version: 1
runtime: go
api_version: go1
handlers:
- url: /.*
script: _go_app
$ cd ..
$ ls -l helloworld/
total 16
-rw-r--r-- 1 val staff 109 Oct 17 17:47 app.yaml
-rw-r--r-- 1 val staff 185 Oct 12 18:18 hello.go
下記のコマンドでデプロイ
$ goapp serve helloworld