19
17

More than 5 years have passed since last update.

Cloud9でGAE/p開発環境を構築する

Posted at

サーバサイドアプリを作るのに、久々に GAE (Google App Engine) をやろうと手を動かしてみようとしたものの、環境構築が面倒すぎてやる気がなくなった。

ところが、調べ物してる最中に Web IDE なる分野があることを知り、ここ数年で実用に耐えうる飛躍を遂げていることにびびった。

というわけで、Web IDEでも高機能だと言われる Cloud9 を使って GAE/p (Google App Engine for Python) の開発環境を構築するところまでまとめる。なんかニーズが多そうだけど、特に日本語のTipsサイトがほとんど見つからなかった。

Cloud9の準備

準備もなにも、サイトにアクセスしてログインすればOK。
なお、Githubアカウントがあれば、すぐにログインして使える。

 Cloud9
 https://c9.io/

ちなみに、制限付きだが、現状は期限なしでFreeで使える (こちらを参照)。

とりあえず適当にWorkspaceを作っておく。
なお、Choose a template では Custom を選んでおく。

Workspaceを作ったあとIDEが起動する。
こんな感じ↓

cloud9_ide0.jpg

Cloud9ではLinux Terminalが使える。
これが非常にありがたい。
IDEの下部に bash タブがあるのでここでコマンドが叩ける。

GAE SDKのインストール

bash Terminal 上でSDKをダウンロードする。
ダウンロードやzipの展開場所はどこでもよいが、以下のコマンド例ではsdk フォルダを作って、その下に展開している。

$ mkdir sdk
$ cd sdk
$ wget https://storage.googleapis.com/appengine-sdks/featured/google_appengine_1.9.30.zip
$ unzip google_appengine_1.9.30.zip

なお、上記は2016/01/10時点での最新バージョン。
取得前に最新バージョンをチェックしておくのがよい。

PATHを通す。

$ vi ~/.bashrc

(末尾に追記)
PATH=$PATH:/home/ubuntu/workspace/sdk/google_appengine/

読み込んでおく。

$ source ~/.bashrc

Pythonのバージョンを調べる。
GAEはPython2.7を要求しているが、Cloud9環境も何もしなくても2.7系になっていたのでこのままでOK。

$ /usr/bin/env python -V
Python 2.7.6

インストールはここまで。

Hello World を動かす

Hello World (サーバアプリ) をつくり、GAEの開発用ランタイムをCloud9上で起動して、動作確認をする。この投稿のキモ。

まずはHello Worldなサンプルコード。
workspace直下だとあれなので、app1 フォルダを作ってそこに置くことにする。

app1/hw.py
print 'Content-Type: text/plain'
print ''
print 'Hello, world!'

続いてアプリのConfigファイルを用意する。先のapp1フォルダ上に置く。

app1/app.yaml
application: app1
version: 1
runtime: python
api_version: 1
handlers:
- url: /.*
  script: hw.py

いざ、Cloud9上でGAE開発用ランタイムを起動する。
一般的なGAE環境だと、localhost:8080などでアクセスできるが、Cloud9だとそうもいかず。
Cloud9 IDE上では使えるポートが限られている (こちら参照)。

以下のようにhostとportを指定して起動する。

$ dev_appserver.py app1 --host $IP --port $PORT --admin_host $IP --admin_port 8082

このとき、$IPには 0.0.0.0 が、$PORTには 8080 が入っている。

うまく起動すると、以下のようなCloud9のメッセージが表示される。

cloud9_ok.jpg

ちなみにダメだった場合はこんな感じ↓
--hostと--port指定がうまくいっていないとこうなる。

cloud9_ng.jpg

起動したランライム上のサンプルアプリにアクセスする。
Cloud9上で開いたPortとURLの関係はここに説明がある。

--port で $PORT (=8080) を指定しているので、以下のURLにアクセスすればOK。

https://<workspace-name>-<username>.c9users.io/

<workspace-name><username>はそれぞれの環境で置き換える。(ex. test-yamadataro.c9users.io)
なお、先の説明ページでは、URLは https のように見えるが、実際には http でもアクセスできた。

以下のように表示されればOK。

cloud9_sample.jpg

こうしてまとめてみるとなんてことないが、情報が少なくとっかかりにくかった。
皆さまの環境構築の一助になれば幸い。

19
17
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
19
17