#記事を書いた目的#
IBM BluemixでHubotを動かせることが分かっていても具体的な手順はネットで探してみてもよく分からなかったので、本記事を作成した。
なお、ローカル環境はWindowsを使用している。
#手順#
1.IBM Bluemixのアカウントを作成
IBM Bluemixにて、
右上の登録ボタンを押す
以下の記事を参考にして、アカウントを登録
IBM Bluemixフリートライアルアカウント作成手順
2.SDK for Node.js でアプリを作成
以下の手順でアプリを作成
IBM Bluemixポータル画面>クラシック・エクスペリエンスに進む>
カタログ>ランタイム>SDK for Node.js
アプリの名前:hubotdev(任意名称で作成。この記事では、hubotdevで作成を行う)
ホスト:hubotdev(任意名称で作成。この記事では、hubotdevで作成を行う)
作成ボタンを押す
3.cfコマンドラインツールをインストール
以下の記事を参考にインストール
Bluemixとは一体何者か?第三回 Cloud Foundry CLI導入
4.動作確認
以下のコマンドをコマンドプロンプトで打つ
cf
ずらっと文字が表示されたら成功
5.Node.js,npmをインストールする
以下の記事を参考にインストール
Node.js / npmをインストールする(for Windows)
6.動作確認
以下のコマンドをコマンドプロンプトで打つ
npm --version```
バージョンが表示されたら成功
成功しなかった場合、以下の記事を参考にして、対処を行う
[WindowsのNode.jsインストーラでパスが正しく設定されない]
(http://webdev.jp.net/windows-nodejs-path/)
<b>7.APIエンドポイントを設定</b>
以下のコマンドをコマンドプロンプトで打つ
```cf api https://api.au-syd.bluemix.net```
上記はBluemixでシドニーにスペースを作成した場合。
他の地域では、以下のURLを指定すること。
米国南部:https://api.ng.bluemix.net
英国 :https://api.eu-gb.bluemix.net
<Font color="blue">注)7から15までの手順で詰まったら、以下の記事とgithubの記述を参考にすること</font>
[HubotをCloud Foundryにデプロイする](https://blog.ik.am/entries/372)
[github/hubot/docs/deploying/bluemix.md](https://github.com/github/hubot/blob/master/docs/deploying/bluemix.md)
<b>8.IBM Bluemixにログイン</b>
以下のコマンドをコマンドプロンプトで打つ
```cf login -a https://api.au-syd.bluemix.net
email:IBM bluemixに登録したメールアドレス
pass:IBM bluemixに登録したパスワード
9.Hubotをインストール(ローカル環境)
以下のコマンドをコマンドプロンプトで打つ
注) コマンドプロンプトで表示されているカレントディレクトリに
demohubotというフォルダが作成され、その配下にHubotのプロジェクトが生成される。
プロジェクトの名前は任意。この記事では、demohubotで作成を行う)
npm install -g yo generator-hubot
mkdir demohubot
cd demohubot/
yo hubot --adapter slack --defaults
10.HubotをIBM Bluemixにデプロイ
以下のコマンドをコマンドプロンプトで打つ
cf push hubotdev -m 256m --no-start
11.Hubotをインストール(Slack)
以下をSlackで実施
Channel Settings>Add an app or integration>App Directory>Hubot
Installボタンを押す
注)Hubotを新たに追加したいときは・・・
Channel Settings>Add an app or integration>App Directory>Hubot
Add Configurationボタンを押す
12.APIトークンの設定
以下のコマンドをコマンドプロンプトで打つ
cf set-env hubotdev HUBOT_SLACK_TOKEN APIトークン
APIトークン:SlackのHubotの設定ページに記載あり
13.IBM BluemixのHubotを起動
以下のコマンドをコマンドプロンプトで打つ
cf start hubotdev
14.動作確認
以下のコマンドをコマンドプロンプトで打つ
cf logs hubotdev --recent
15.動作確認
以下をSlackで実施
Hubotをチャネルにinviteする。招きたいチャンネルで以下のコマンドを発行
/invite hubotdev
SlackのHubot Integrationが知らぬ間にアップデートされてた
@hubotdev ping
と送り、PONGと返ってきたら、成功
16.カスタマイズ
以下のファイルを編集
Hubotをインストールしたパス\demohubot\node_modules\hubot-diagnostics\src\diagnostics.coffee
以下のように追記
robot.respond /manufacturer$/i, (msg) ->
msg.send "hubot_make_user"
17.再度デプロイ
以下のコマンドをコマンドプロンプトで打つ
cf push hubotdev -m 256m --no-start
18.サーバーのhubotを再起動
以下のコマンドをコマンドプロンプトで打つ
cf restart hubotdev
19.動作確認
以下をSlackで実施
@hubotdev manufacturer
と送り、hubot_make_userと返ってきたら、成功
注)Hubotの反応が無いときは・・・
チャンネルにいるHubotのアイコンがaway(離席)状態になっている可能性がある。
この場合は、再度以下のコマンドをコマンドプロンプトで打ち、動作確認を行う。
cf restart hubotdev