2015-09-30

Let's Chatを Cloud Foundry で動かす

「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”をクリックします

登録したルームに入室可能になります。

今回使用したソフトウェア



投稿者:NTTソフトウェア株式会社 森川 健