Ruboty | Gemfury に登録した Private な Gem を利用した Ruboty を Heroku にデプロイして、 Slack と連携する #ruboty #gemfury #slack


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

参照