ふと思いついたので会社のJenkinsで使ってるプラグインをまとめてみます。 RailsでJenkins運用してる人の参考になれば幸いです。(入れてるけどあまり使ってないのは端折ってます)
他に便利なプラグインあったらコメントやブコメで教えてくださいw
Ruby/Rails系プラグイン
PMD Plugin - Jenkins - Jenkins Wiki
CPD(Copy PasteDetector=コピペ検出)のためのプラグイン。
入門Jenkinsで紹介されていたので入れたはず。
- 作者: 末広尚義,竹内一成,太田健一郎,西川茂伸
- 出版社/メーカー: 秀和システム
- 発売日: 2012/09
- メディア: 単行本
- 購入: 5人 クリック: 138回
- この商品を含むブログ (9件) を見る
アプリ作る度にRailsなのにjar一式コミットする悲しみがあるので他の静的解析使いたいw
rbenv plugin - Jenkins - Jenkins Wiki
最初の頃はRVM Plugin - Jenkins - Jenkins Wiki を使ってましたが、昨今の流行でrbenvに移行しました。
Ruby/Rails以外でも使えるプラグイン
AnsiColor Plugin - Jenkins - Jenkins Wiki
コンソールに色がつきます
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
テストが通ってる時は青よりも緑の方が個人的には嬉しい
↓
JobConfigHistory Plugin - Jenkins - Jenkins Wiki
設定が変更された時に右の方にアイコンがついてdiffが見れます
Throttle Concurrent Builds Plugin - Jenkins - Jenkins Wiki
同じアプリを複数のバージョンでビルドしてる場合、
- masterにpushされた時にJenkinsに通知
- app_1.9.3 と app_2.0.0 で同時にビルドが走る
- 両方のテストでinsert→after(:each)でデータクリアしてるとロックがかかってテストが落ちるw
ということがあるため、DB単位で排他制御かけています。
下の方がモザイクかかってますが、
- app1_db
- app2_db
- app3_db
みたいなチェックボックスがあって1つだけにチェックが入っています
Plot Plugin - Jenkins - Jenkins Wiki
Jenkinsにスローテストのグラフを表示する - くりにっき
これと組み合わせてrspecの実行時間をグラフ化しています
Timestamper - Jenkins - Jenkins Wiki
コンソールのログ単位でタイムスタンプがつけるプラグイン。 一時期ジョブが遅い時があってボトルネックを調べるために使っていました。
Emotional Jenkins Plugin - Jenkins - Jenkins Wiki
ビルドが失敗した時におっさんが怒り狂います
平常時
ビルドが不安定で悲しみにくれているおっさん
ビルドが失敗して怒り狂っているおっさん
Beer Plugin - Jenkins - Jenkins Wiki
疲れた時に眺めます
その他便利ツール
sue445/my_rails_template
rails new
する時に使うオレオレテンプレート
Railsアプリをビルドするためのシェルスクリプトやspec_helper.rbを同梱
sue445/jenkins-backup-script
Jenkinsの設定ファイルやプラグインをtar.gzに固めるためのスクリプト。
このスクリプト自体もJenkinsに登録して夜中にジョブを定期実行し、別のスクリプトでバックアップサーバに転送しています