「Cloud Foundry 百日行」第69日目は、nodejs製のチャットツールLet’s Chat です。
Let’s ChatはAPI経由の連携が可能な為、CI等の開発ツールとの連携を行う事で
ChatOpsに利用可能なアプリケーションとなっています。
本アプリはMongoDBを利用する為、第68日目 spring-boot-cf-service-broker-mongoの記事が公開された事で記事化が可能になりました。
基本情報
手順の概要は以下の通りです。
- 1) ソースコードの取得
- 2) 事前準備
- 3) アプリの起動
- 4) 動作確認
1. ソースコードの取得
$ git clone https://github.com/sdelements/lets-chat
$ cd lets-chat
$ ls
app CHANGELOG.md extras media Procfile _sources Vagrantfile
app.js CONTRIBUTING.md Gruntfile.js migroose.js README.md templates
app.json defaults.yml LICENSE migrootions screenshot.png TROUBLESHOOTING.md
bower.json docker locales package.json settings.yml.sample uploads
2. 事前準備
2.1. MongoDBのサービスインスタンス作成
$ cf create-service "Mongo DB" "Default Mongo Plan" lets-mongo
2.2. アプリの事前push
アプリを–no-startでpushし、作成したサービスインスタンスをアプリに紐づけます。
$ cf push lets --no-start
$ cf bind-service lets lets-mongo
紐づけたサービスの情報を『cf env』を実行し、credentialsのuri部分をメモします。
$ cf env lets
:
System-Provided:
{
"VCAP_SERVICES": {
"Mongo DB": [
{
"credentials": {
"uri": "mongodb://68608217-650b-4b26-91df-e70ad5105a34:password@192.168.15.82:27017/f9d8d716-8426-42a6-bd62-585aecfe43d1"
},
"label": "Mongo DB",
"name": "lets-mongo",
"plan": "Default Mongo Plan",
"tags": [
"mongodb",
"document"
]
}
cf set-envでMONGOLAB_URIという値に
先ほどメモしたcredentialsの値を設定します。
$ cf set-env lets MONGOLAB_URI "mongodb://68608217-650b-4b26-91df-e70ad5105a34:password@192.168.15.82:27017/f9d8d716-8426-42a6-bd62-585aecfe43d1"
3. アプリの起動
$ cf start lets
:
App lets was started using this command `npm start`
Showing health and status for app lets in org morika-t / space morika-t as morika-t...
OK
requested state: started
instances: 1/1
usage: 256M x 1 instances
urls: lets.10.244.0.34.xip.io
last uploaded: Mon Aug 31 08:07:43 UTC 2015
stack: cflinuxfs2
buildpack: Node.js
state since cpu memory disk details
#0 running 2015-08-31 05:12:36 PM 0.0% 203.5M of 256M 0 of 1G
成功しました。
4. 動作確認
ブラウザからアプリにアクセスし
“Sign in”の下にある”I need an account”をクリックします。
登録情報を入力し、”Register”をクリックします
先ほど登録した情報を入力し”Sign in”をクリックするとログインします。
登録直後はルームが1つも存在していない為、右上の+をクリックします。
ルーム名等を入力し、”Save changes”をクリックします
登録したルームに入室可能になります。
今回使用したソフトウェア
- cf-release (v211)
https://github.com/cloudfoundry/cf-release/tree/v211
( https://github.com/cloudfoundry/cf-release/tree/2121dc6405e0f036efa4dba963f7f49b07e76ffa ) - spring-boot-cf-service-broker-mongo
https://github.com/nota-ja/spring-boot-cf-service-broker-mongo/tree/cf-100-day-challenge-068-with-env-specific-configs - bosh-lite
https://github.com/cloudfoundry/bosh-lite/tree/552dc6869600c5350eb7ffb4fb9c9c5e79e3889d - CF CLI (cf version 6.12.0-8c65bbd-2015-06-30T00:10:31+00:00)
https://github.com/cloudfoundry/cli/releases/tag/v6.12.0 - lets-chat
https://github.com/sdelements/lets-chat/tree/7753e7e4992217de784f9a70de712249fc761dcb
投稿者:NTTソフトウェア株式会社 森川 健