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日のトライアル期間を過ぎての利用は、無料/有料に関わらずクレジットカードの登録が必要みたいです。
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)は各自が自由に設定できます。
それでは実際に動いているかどうか見てみましょう。
大丈夫そうですね(´・_・`)
まとめ
Bluemixを使って神様を24時間稼働させることができました。
日本語対応してるのでわかりやすくて触りやすかったですね。
それでは。