お布団宇宙ねこ

にゃーん

hubotをHerokuからIBM Bluemixに移した話

IBM Bluemixを使ってbotを動かす記事を見かけたので、自分もやってみることにしました。

今回移行させるのは、Slack上で稼働させている同期の神様のbotです。

GitHub - ku00/chi-chan: chi-chan is GOD.

Good Bye Heroku...

Herokuから稼働させているアプリを消します。確認は特にいらないのでconfirmオプションを付けて実行します。

heroku apps:destroy --app bot-name --confirm bot-name

さよならHeroku(´・_・`)

Hello Bluemix!

Bluemixのアカウント登録

こちらの記事を参考に、まずはBluemixのアカウント登録をやってみます。

IBM Bluemixフリートライアルアカウント作成手順 - Qiita

無料枠ならばクレジットカードの登録はいらないみたいです。ただし、30日のトライアル期間を過ぎての利用は、無料/有料に関わらずクレジットカードの登録が必要みたいです。

料金 - IBM Bluemix

hubotの修正

Bluemixにデプロイするためには、 procfile の代わりに manifest.yml を用意する必要があります。インスタンスやメモリは無料枠に合わせて、次のように書きました。

manifest.yml

applications:
- buildpack: https://github.com/jthomas/nodejs-v4-buildpack.git
  command: ./bin/hubot -a slack -n chi-bot
  path: .
  instances: 1
  memory: 256M

コードの準備はこれだけです。

Bluemixへのデプロイ

hubotをBluemixへデプロイする方法は、基本的には以下のドキュメント通りにやれば大丈夫です。

hubot/bluemix.md at master · github/hubot

デプロイは cf コマンドで行います。

cf コマンドはbrewでインストールできます。

brew tap cloudfoundry/tap
brew install cf-cli

それではデプロイしてみましょう。

cf api https://api.au-syd.bluemix.net
cf set-env bot-name HUBOT_SLACK_TOKEN token-value
cf login -u bluemix-id -o org-name -s space-name
cf push bot-name

以上でデプロイ完了です。

  • cf api で設定するAPIのエンドポイントは、データセンターの地域によって異なるので事前に確認しておきましょう(自分の場合はシドニーだったので au-syd )。

  • cf login のオプションで指定している組織(org-name)とスペース(space-name)は各自が自由に設定できます。

それでは実際に動いているかどうか見てみましょう。

f:id:ku00:20160321210232p:plain

大丈夫そうですね(´・_・`)

まとめ

Bluemixを使って神様を24時間稼働させることができました。

日本語対応してるのでわかりやすくて触りやすかったですね。

それでは。

参考