1. Qiita
  2. 投稿
  3. golang

GO/GAE 環境構築からデプロイまで

  • 3
    いいね
  • 2
    コメント

以下のリンクを参考に進めます。
PaaS最前線!たったの15分でできるGAE/GO入門!

環境構築

AppEngine SDKのインストール

以下のリンクよりAppEngine SDKをダウンロードします。
Download and Install the SDK for App Engine

リンクを開くとGO、Java、PHP、Pythonとボタンが表示されているので、GOボタンをクリック。

gae_go.png

次に、LINUX、MAC OS X、WINDOWSから選択。(64bit、32bitも選ぶ)

gae_go2.png

ダウンロードが開始されるのでアーカイブを適当な場所で解凍します。

環境変数を.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をローカル環境で試すには以下の手順を行います。

  1. hello.goファイルの作成
  2. app.yamlファイルの作成
  3. 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

ブラウザで確認すると、「Hello, world!」と表示されたらデプロイ成功です!

http://sample-project.appspot.com/helloworld