本日の第11回「Cloud Foundry 百日行」は、Pythonで書かれたチャットアプリ chatapp です。デプロイしてチャットを楽しんでみましょう。
基本情報
-
公式サイト
なし
ソースコードの取得
$ git clone https://github.com/vinceprignano/chatapp.git
chatappディレクトリに入ります。
$ cd chatapp/
アプリのpush
今回はデータベースも使っていないシンプルなPythonのチャットアプリ。まずはそのままpushしてみましょう。
$ cf push chatapp
Creating app chatapp in org ueno / space test1 as ueno...
:
途中、Pythonの環境構築が走り、デプロイが進んで行き、、
:
requested state: started
instances: 1/1
usage: 256M x 1 instances
urls: chatapp.10.244.0.34.xip.io
last uploaded: Wed Jun 17 06:14:50 +0000 2015
stack: lucid64
state since cpu memory disk details
#0 running 2015-06-17 03:16:46 PM 0.0% 70M of 256M 0 of 1G
そのままデプロイが成功し、アプリが起動しました!
動作確認
何はともあれ、起動したアプリ、まずはそのURL http://chatapp.10.244.0.34.xip.io
にアクセスしてみます。
初期画面(ユーザーエントリー)
名前を入れてエントリーします。
チャット画面
複数人でエントリーしてチャットしてみましょう。
リアルタイムにチャットを楽しめますね。
まとめ
pushコマンド一発! 今回はCloud Foundryならではの簡便さを楽しめましたね。
ところで、今回のアプリはPythonが使われているので、python-buildpack が必要なはずです。これはどのように処理されていたのでしょうか?
答えは、使用しているbosh-lite環境にそのbuildpackが既に標準で入っているのです。確認してみましょう。
$ cf buildpacks
Getting buildpacks...
buildpack position enabled locked filename
java_buildpack 1 true false java-buildpack-v2.5.zip
ruby_buildpack 2 true false ruby_buildpack-offline-v1.1.4.zip
nodejs_buildpack 3 true false nodejs_buildpack-offline-v1.0.4.zip
go_buildpack 4 true false go_buildpack-offline-v1.0.4.zip
python_buildpack 5 true false python_buildpack-offline-v1.0.5.zip
php_buildpack 6 true false php_buildpack-offline-v1.0.2.zip
もしお使いの環境にpython-buildpackが入っていなければ、アプリのpushの際に、 -b https://github.com/cloudfoundry/python-buildpack
を指定してください。あるいは、第5回の最後で触れたように、manifestファイルに書き込んでおいてもいいですね。
今回使用したソフトウェア
- cf-release (v194)
https://github.com/cloudfoundry/cf-release/tree/v194
( https://github.com/cloudfoundry/cf-release/tree/345a8b3e1ea0005a3e9fced13f0bf6fa6f7ad981 ) - bosh-lite
https://github.com/cloudfoundry/bosh-lite/tree/01db9da7b4122f7d02858d92e0fe938e91256649 - CF CLI (v6.11.3-cebadc9-2015-05-20T19:00:58+00:00)
https://github.com/cloudfoundry/cli/releases/tag/v6.11.3 - chatapp
https://github.com/vinceprignano/chatapp/tree/026e0f2b0a2cb12d45514ae6532fd738338c23ef