LoginSignup
9
9

More than 5 years have passed since last update.

heroku上でデプロイしたhubotをslack連携させる

Last updated at Posted at 2014-12-03

今日のお題を使ってこれからCI環境を作りたいと思ってますので、今回は準備編ということでheroku上にhubotをデプロイしてslack連携までやってみます。

github上にhubotリポジトリ作成

herokuで展開するのでローカルで以下のように作っていきます

$ npm install -g yo generator-hubot
$ mkdir ligzo
$ cd ligzo
$ yo hubot
#対話式の中で最後のadapterにslackと返答すると、Procfileに以下の記述が追記され、slack上で使うadapterの設定の記述もしてくれます。
web: bin/hubot -a slack -n ligzo

hubotを起動します

$ bin/hubot
#警告が出ましたが、動いています。
npm WARN package.json hubot-maps@0.0.0 No repository field.
Hubot> hubot ping
Hubot> PONG

githubに上げる前にローカルコミットしておきましょう

$ git init
$ git add .
$ git commit -m "Initial commit"

github上でリポジトリ作成
web上で作成します.
今回はligcoで作成しました。

先ほどのローカルのリポジトリにremoteaddします。

$ git remote add origin https://github.com/nakamura-daiki/ligco.git
$ git push -u origin master

公開鍵を登録しないといけませんでした。
web上でdeploykeyを登録しますが、その前にローカルで鍵を作成します。

$ ssh-keygen -t rsa
#鍵の名前を何でもいいので入力して作成します。
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/{作った鍵}
$ pbcopy < ~/.ssh/{作った鍵}.pub

web上で登録します.
画像
add Deploy keyからコピーしたキーを登録します。

再度pushします

$ git push -u origin master

とりあえず準備OKです。

herokuにデプロイ

https://toolbelt.heroku.com/ここからHeroku Toolbeltをダウンロードしてインストールします。
ローカルのターミナルで操作します。

$heroku login
#登録したメールアドレスとパスワードを入力します。
$heroku create ligzo-bot
# heroku上に鍵を登録します
$ heroku keys:add
#これでherokuにpushできます。
$ git push heroku master 

環境変数を登録します
herokuのwebコンソールからも編集できます。
環境変数の一覧はこちらhttps://github.com/tinyspeck/hubot-slack必要なのはこんなところでしょうか。

$ heroku config:add HUBOT_SLACK_TOKEN={}
$ heroku config:add HUBOT_SLACK_TEAM={}
$ heroku config:add HUBOT_SLACK_BOTNAME={}
$ heroku config:add HUBOT_SLACK_CHANNELS={}
$ heroku config:add HEROKU_URL={}

LIGのメンバーをherokuのリポジトリにcollaborator登録しておきます。
画像

slack連携

Configure Integrationsからhubotを選択して登録します。
ここで表示されるトークン等を上記のheroku configureで登録していきます。
herokuのwebコンソールで表示されているドメインをHubot URLに登録してSave Integrationします。
画像

呼んでみる

画像
成功したみたいです。

9
9
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
9
9