HerokuにHubotをデプロイしてSlackと連携&Travis CIで自動デプロイ
やること
以上を無料枠で
前提
Hubotを作成
必要なアプリケーションをインストール
brew install node redis npm install -g hubot coffee-script
Hubotの雛形を作成 (名前はお好みで)
hubot --create foobar-hubot cd foobar-hubot
Slack用のアダプターを追加
npm install hubot-slack --save
Slack用のアダプターを使うようにProcfileを書き換え
vim Procfile
web: bin/hubot --adapter slack
GitHubにpush
git init git add . git commit -m "create" git remote add origin (リポジトリURL) git push -u origin master
Herokuにデプロイ
HerokuのCLIツールをインストール
brew install heroku
CLIツールの初期設定
heroku login
Herokuアプリの作成
heroku create --stack cedar (アプリ名)
ワーカプロセス数の設定とアドオンの追加
heroku ps:scale web=1 heroku addons:add redistogo:nano
HerokuアプリのURLを設定
heroku config:add HEROKU_URL=*****
SlackのIntegrationsでHubotを追加
Setup Instructionsに表示された設定をHerokuに追加
heroku config:add HUBOT_SLACK_TOKEN=***** heroku config:add HUBOT_SLACK_TEAM=***** heroku config:add HUBOT_SLACK_BOTNAME=(ここは任意)
HerokuにHubotをデプロイ
git push heroku master
SlackにHubotのURLを追加して完了
Travis CIを使って自動デプロイ
Travis CIのProfileでHubotのリポジトリを有効化
gem install travis
リポジトリにHeroku用の設定
travis setup heroku
.travis.ymlの先頭にnode.js用の設定を追記
vim .travis.yml
language: node_js node_js: - '0.10'
git add . git commit -m "add .travis.yml" git push origin master
HubotがデプロイされたらSlackに通知
SlackのIntegrationsでHerokuを追加
通知させるチャンネルを指定
Setup Instructionsに表示されているコマンドを実行する
heroku addons:add deployhooks:http --url=*****