LoginSignup
9
11

More than 5 years have passed since last update.

Google App Engine SDK for Goを使ってGAE上でアプリを動かすまで

Last updated at Posted at 2016-02-19

環境

  • MacOSX: 10.11.3
  • Python: 2.7.10 ※2.7系じゃないと動作しないっぽいので注意(検証はしていない)
  • Google App Engine SDK for Go: 1.9.32 - 2016-02-02

Google App Engine SDK for Go準備

※ホームディレクトリで作業をする

ターミナル.app
cd ~

ダウンロード

ターミナル.app
curl -O https://storage.googleapis.com/appengine-sdks/featured/go_appengine_sdk_darwin_amd64-1.9.32.zip

解凍

ターミナル.app
unzip go_appengine_sdk_darwin_amd64-1.9.32.zip

※「go_appengine」というフォルダ名で解凍される

削除

go_appengine_sdk_darwin_amd64-1.9.32.zipを削除する

ターミナル.app
rm go_appengine_sdk_darwin_amd64-1.9.32.zip

GOPATHの設定

以下の行を追記する

~/.bash_profile
export PATH="$HOME/go_appengine:$PATH"

パスの設定を反映

ターミナル.app
source ~/.bash_profile

Go言語のワークスペースを作成

ワークスペース名は任意でOKです。

ターミナル.app
mkdir ~/go_ws

アプリを動かしてみる

helloworldアプリをコピー

ダウンロードしたフォルダ内にデモアプリが複数用意されているのでワークスペースにhelloworldアプリをコピーする。

ターミナル.app
cp -r ~/go_appengine/demos/helloworld ~/go_ws/

helloworldアプリ ディレクトリに移動

ターミナル.app
cd ~/go_ws/helloworld

helloworldアプリ をローカルで実行

ターミナル.app
goapp serve

上記コマンドを実行すると、ターミナル上に以下の情報がアウトプットされる。

ターミナル.app
# 〜省略〜

INFO     2016-02-19 02:29:39,327 dispatcher.py:197] Starting module "default" running at: http://localhost:8080

# 〜省略〜

Starting moduleの行のURLをブラウザからアクセスすると、

スクリーンショット 2016-02-19 11.39.11.png
上記のように表示される。

ちなみに、goapp serveで起動中にgoファイルを修正すると、自動で再コンパイルしてくれるので、ファイル修正後、ブラウザをリロードすると修正内容が適用されている。

helloworldアプリ をGAE上で実行

事前準備

  • Googleアカウントを作成していること

プロジェクトを作成する

My consoleにログイン後、プロジェクトを作成する。
スクリーンショット_2016-02-19_11_49_37.jpg
         ↓↓↓
スクリーンショット_2016-02-19_11_50_37.jpg

GAEにアップ

プロジェクトを作成した時に発行されたプロジェクトID(<YOUR_PROJECT_ID_>)を以下のコマンドにセットし、コマンドを実行します。

ターミナル.app
appcfg.py -A <YOUR_PROJECT_ID_> update ~/go_ws/helloworld/

※「<>」は必要ありません

ブラウザ上で実行確認

以下のURLにアクセスすると、「Hello, World!」が表示される。
http://<YOUR_PROJECT_ID_>.appspot.com/
スクリーンショット_2016-02-19_13_32_34.jpg

補足

GAEは、すべてのアプリケーションを対象に、一定の無料枠(毎日リセットされます)が設けられているのでコストは抑えられると思います。

参考サイト

9
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
11