くりにっき

フルスタックキュアエンジニアです

Jenkinsに入れているプラグインまとめ(Rails中心)

ふと思いついたので会社のJenkinsで使ってるプラグインをまとめてみます。 RailsでJenkins運用してる人の参考になれば幸いです。(入れてるけどあまり使ってないのは端折ってます)

他に便利なプラグインあったらコメントやブコメで教えてくださいw

Ruby/Rails系プラグイン

PMD Plugin - Jenkins - Jenkins Wiki

CPD(Copy PasteDetector=コピペ検出)のためのプラグイン。

入門Jenkinsで紹介されていたので入れたはず。

入門Jenkins―実践「継続的インテグレーション」

入門Jenkins―実践「継続的インテグレーション」

参考:Javaだけじゃない入門jenkins

アプリ作る度にRailsなのにjar一式コミットする悲しみがあるので他の静的解析使いたいw

rbenv plugin - Jenkins - Jenkins Wiki

最初の頃はRVM Plugin - Jenkins - Jenkins Wiki を使ってましたが、昨今の流行でrbenvに移行しました。

Ruby/Rails以外でも使えるプラグイン

AnsiColor Plugin - Jenkins - Jenkins Wiki

コンソールに色がつきます

f:id:sue445:20140108220502p:plain

Categorized Jobs View - Jenkins - Jenkins Wiki

1つのアプリ(ライブラリ)を複数のrubyのバージョンでビルドしてるため

  • my_gem
    • my_gem_1.9.3
    • my_gem_2.0.0
    • my_gem_2.1.0

みたいに階層表示できて便利

Ci Skip Plugin - Jenkins - Jenkins Wiki

出来て1ヶ月経ってない出来たてほやほやのプラグイン

Travis CIのようにコミットコメントに [ci skip] を含めるとビルドをスキップしてくれます。 コメントだけの修正でビルド走らせたくないので使ってます。

Latest Release Date Dec 24, 2013

あっ(察し)

Embeddable Build Status Plugin - Jenkins - Jenkins Wiki

READMEに貼る定番のバッジ

Green Balls - Jenkins - Jenkins Wiki

テストが通ってる時は青よりも緑の方が個人的には嬉しい

f:id:sue445:20140108223105p:plain

f:id:sue445:20140108222008p:plain

JobConfigHistory Plugin - Jenkins - Jenkins Wiki

f:id:sue445:20140108222449p:plain

設定が変更された時に右の方にアイコンがついてdiffが見れます

Throttle Concurrent Builds Plugin - Jenkins - Jenkins Wiki

同じアプリを複数のバージョンでビルドしてる場合、

  1. masterにpushされた時にJenkinsに通知
  2. app_1.9.3 と app_2.0.0 で同時にビルドが走る
  3. 両方のテストでinsert→after(:each)でデータクリアしてるとロックがかかってテストが落ちるw

ということがあるため、DB単位で排他制御かけています。

f:id:sue445:20140108223402p:plain

下の方がモザイクかかってますが、

  • app1_db
  • app2_db
  • app3_db

みたいなチェックボックスがあって1つだけにチェックが入っています

Plot Plugin - Jenkins - Jenkins Wiki

Jenkinsにスローテストのグラフを表示する - くりにっき

これと組み合わせてrspecの実行時間をグラフ化しています

Timestamper - Jenkins - Jenkins Wiki

コンソールのログ単位でタイムスタンプがつけるプラグイン。 一時期ジョブが遅い時があってボトルネックを調べるために使っていました。

Emotional Jenkins Plugin - Jenkins - Jenkins Wiki

ビルドが失敗した時におっさんが怒り狂います

f:id:sue445:20140108224344p:plain

平常時

f:id:sue445:20140109104737p:plain

ビルドが不安定で悲しみにくれているおっさん

f:id:sue445:20140109104808p:plain

ビルドが失敗して怒り狂っているおっさん

f:id:sue445:20140109104852p:plain

Beer Plugin - Jenkins - Jenkins Wiki

f:id:sue445:20140108220649p:plain

疲れた時に眺めます

その他便利ツール

sue445/my_rails_template

rails new する時に使うオレオレテンプレート

Railsアプリをビルドするためのシェルスクリプトやspec_helper.rbを同梱

sue445/jenkins-backup-script

Jenkinsの設定ファイルやプラグインをtar.gzに固めるためのスクリプト。

このスクリプト自体もJenkinsに登録して夜中にジョブを定期実行し、別のスクリプトでバックアップサーバに転送しています

参考:jenkins-backup-scriptを作りました - くりにっき