Jenkins Plugin(JRuby)の勉強会をしました

昨年から細々と続けている社内勉強会の60分一本勝負で、(デブサミで川口さんとnahiさんからいろいろ聞いてきた)hsbtにJenkinsプラグインをJRubyで書く方法について教えてもらいました。

私はそもそもJavaが入ってなかったので次のような感じでいろいろ入れるところからスタート。

最後に入れているjpiがJRubyでJenkins Pluginを作るためのgemだそうな。

手順としては、

  • jpi new hogehgoeで雛形を生成
  • jpi generate hogehoge fugafugaとしてできたファイルを編集
  • jpi buildでパッケージング
  • jpi serverで作ったプラグインが入ったJenkinsが起動

という感じで、generate hogehogeがけっこう肝な感じでした。

Generatorは、いまのところ次の6つがあるんですが、後半はhsbtもよくわからないとのこと。

  • publisher (設定画面で「ビルド後の処理」に入るもの)
  • builder (設定画面で「ビルド」に入るもの)
  • wrapper (設定画面で「ビルド環境」に入るもの)
  • node_property
  • run_listener
  • computer_listener

まずは、上の3つをいろいろ使ってみたり、いまのところJRubyで書かれた唯一のプラグインであるrvm-pluginを見ながらエスパーしたり、「Rubyで書けるならこう書きたい!」みたいなのを考えてみようかという話をしていました。

あとは、Gentooでjpi serverが動かない問題を調査して、pull requestはhsbt(と奥さんの英語力)に託したりと、なかなか有意義な勉強会でした。