Ruboty | Gemfury に登録した Private な Gem を利用した Ruboty を Heroku にデプロイして、 Slack と連携する
概要
Ruboty で利用する自作 Handler は、 ChatOps の性質上、外部公開できないものもあると思います。
そういった際に、下記記事で紹介している gemfury など、 Private な Gem を管理できる
クラウドサービスや社内サーバーに geminabox を利用した gem server を立てることになると思います。
今回は、 Gemfury を利用したケースを紹介します。
自作 Ruboty Handler gem の作成
下記記事を参照。
Ruboty | 自作 Handler gem の作成
Gemfury への登録方法
下記記事を参照。
Gemfury | クラウドパッケージリポジトリ Gemfury の登録、疎通確認まで
Heroku への Ruboty のデプロイ
Ruboty の作者である @r7kamura さんの下記記事を参考に Heroku にデプロイを行います
Ruby製HubotクローンのRubotyをSlackで動かす
- 上記の手順で fork したリポジトリの Gemfile を下記のように編集します。
source "https://rubygems.org"
gem "rake"
gem "ruboty-alias"
gem "ruboty-cron"
gem "ruboty-google_image"
gem "ruboty-redis"
gem "ruboty-slack"
gem 'gemfuryに公開したgem名', :source => "https://#{ENV['GEMSPEC_KEY']}@gem.fury.io/your_account/"
- heroku に push します
$ git push heroku master
- heroku コマンドで環境変数 GEMSPEC_KEY を追加します
$ heroku config:add GEMSPEC_KEY="your_gemfury_token"
動作確認
仮に "gemfury test" に対して "gemfury_test" と返却するだけの Ruboty Handler を作成したとします。
- Slack 画面キャプチャ
補足
この記事を作成し終わった後に気付いたのですが、これと同等のことを行う
Heroku add-on がある模様。 onz
https://devcenter.heroku.com/articles/gemfury