LoginSignup
19
23

More than 5 years have passed since last update.

IBM Bluemixを使って、Slackで動くHubotを構築する手順

Last updated at Posted at 2016-07-13

記事を書いた目的

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.動作確認

以下のコマンドをコマンドプロンプトで打つ
node --version
npm --version

バージョンが表示されたら成功

成功しなかった場合、以下の記事を参考にして、対処を行う

WindowsのNode.jsインストーラでパスが正しく設定されない

7.APIエンドポイントを設定

以下のコマンドをコマンドプロンプトで打つ
cf api https://api.au-syd.bluemix.net

上記はBluemixでシドニーにスペースを作成した場合。
他の地域では、以下のURLを指定すること。
米国南部:https://api.ng.bluemix.net
英国 :https://api.eu-gb.bluemix.net

注)7から15までの手順で詰まったら、以下の記事とgithubの記述を参考にすること
HubotをCloud Foundryにデプロイする
github/hubot/docs/deploying/bluemix.md

8.IBM Bluemixにログイン

以下のコマンドをコマンドプロンプトで打つ
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ボタンを押す

<<図>>
キャプチャ1.PNG

キャプチャ4.PNG

注)Hubotを新たに追加したいときは・・・
Channel Settings>Add an app or integration>App Directory>Hubot
Add Configurationボタンを押す

<<図>>
キャプチャ2.PNG

12.APIトークンの設定

以下のコマンドをコマンドプロンプトで打つ
cf set-env hubotdev HUBOT_SLACK_TOKEN APIトークン

APIトークン:SlackのHubotの設定ページに記載あり

<<図>>
キャプチャ3.PNG

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

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