#背景
herokuにslackで動くrubotyをデプロイしたいけどherokuのこともrubyのこともrubotyのこともあまりよくわかっていない.
簡単にdeployできるtemplateが有るけどbot userには対応してなさそう.
というわけでどうしたのか健忘録としてまとめたのが以下です.
##rubotyとは
以下を見ると良いです
Ruboty って何?どうやって動かすの? Hubot と何が違うの?どっちを使えばいいの? #ruboty #chatops
##デプロイ
そもそもrubotyの製作者である@r7kamuraさんがherokuに対するSlack botのデプロイテンプレートを作成しているので考えることは無い
https://github.com/r7kamura/ruboty-template
と思ったんですが,このテンプレートはruboty-slackを利用しているため,bot用の通常ユーザーを作成する必要があります.(私の理解が正しければ)
Slackにはbot userというものがあるので,こちらを使いたいという気持ちがありました.
https://api.slack.com/bot-users
そしてbot userに対応しているruboty-pluginがruboty-slack_rtmです.
なので,テンプレートがruboty-slackを呼んでいる部分をruboty-slack_rtmに置き換える必要があります.
#やっておくこと
- rubyが動く環境作成
- herokuのアカウント登録
- slackのbot user作成
- slackのbot user用トークン取得
#やったこと
- https://github.com/r7kamura/ruboty-template をフォーク
- Gemfileの
gem "ruboty-slack"
をgem "ruboty-slack_rtm"
に書き換え - app.jsonの中で
ruboty_slack
が要求するSLACK_PASSWORD
SLACK_ROOM
SLACK_TEAM
SLACK_USERNAME
を削除し,ruboty-slack_rtm
が要求するSLACK_TOKEN
を追加 - bundle updateを行い,Gemfile.lockを更新
- 更新内容をgithubにpush
- github上から
Deploy to Heroku
ボタンを押す - あとは普通にテンプレートを利用した時と同じ
#感想
わかってれば2秒で終わるけどわかってないと面倒.