Jenkinsプラグイン探訪 - Favorite Plugin

はじめに

Jenkinsにジョブを登録していくと、ジョブを何らかの目的別に分類したくなってきます。例えば、「開発案件AAAに関するジョブたち」、「開発案件BBBに関するジョブたち」、「失敗ビルドに関するジョブたち」などに分類することが考えられます。
このような場合、Jenkinsでは新たなビューを作成して、そのビューに目的別に分類したジョブを所属させます。

ジョブの数が少ない場合やマメな人が多い場合は、新しいジョブを作成する方法で十分運用できます。しかし、目的別のビューを一つ一つ作成していくのは、結構退屈で地味に手間のかかる作業です。
そこで、この記事では、このような状況を改善するための一手段としてFavoriteプラグインを紹介したいと思います。

なお、このプラグインは、簡潔に述べると、

  • ジョブを「お気に入り」に追加したり、
  • ジョブを「お気に入り」から削除したりして、
  • ビューに表示したいジョブを
  • ビューを跨って(横断的に)

一括かつ動的に設定するための機能を提供します。

インストール

Favorite Pluginの名称と関連URLは次のとおりです。

プラグイン Wiki URL ダウンロード URL GitHub URL
Favorite Plugin http://wiki.jenkins-ci.org/display/JENKINS/Favorite+Plugin http://updates.jenkins-ci.org/download/plugins/favorite/ https://github.com/jenkinsci/favorite-plugin

機能概要

Favoriteプラグインの機能概要は次のとおりです。

  • 「すべて」ビューに「Fav」欄を追加します。
  • 「すべて」ビューの各ジョブの「Fav」欄に星印を表示します。
  • 「すべて」ビュー以外のビューにも「Fav」欄を追加することができます。
        
  • 星印を選択状態にすると、選択状態にしたジョブが「お気に入り」に追加されます。
  • 星印を非選択状態にすると、非選択状態にしたジョブが「お気に入り」から削除されます。
        
  • ビューに「Favorites Filter」を適用できるようになります。
        
  • ビューに「Favorites Filter」を適用した場合、そのビューには「お気に入り」に設定されたジョブだけが表示されます。
        

機能詳細と注意事項

Favoriteプラグインの機能詳細は次のとおりです

  • まず、「Favorites Filter」以外の「ジョブフィルター」の条件によって、ビューに表示されるジョブの集合が決定されます。
  • 次に、最新の「お気に入り」設定の情報を用いて、ジョブの集合の中から表示するジョブが決定されます。
  • 「お気に入り」設定を変更すると、ビューに表示されるジョブが動的に変化します。
  • 「お気に入り」設定は、ユーザごとに記録されます。
  • ビューに「Favorites Filter」を適用しなかった場合、そのビューは「お気に入り」の影響を受けません。
  • 「Favorites Filter」が適用されているすべてのビューが、「お気に入り」設定の影響を受けます。
  • 「Fav」欄の有無は、ジョブの表示/非表示には影響しません。
  • その他は「機能概要」を参照してください。

注意事項は次のとおりです。

  • 繰り返しになりますが、このプラグインを使用するためには、「アクセス制御」を有効にしておく必要があります。

利用のポイント

  • ジョブの最適な分類方法について悩み始めたときに使うと良いでしょう。
  • 注目したいジョブを頻繁に変えたい場合に有効です。
  • 比較的ざっくりとジョブを分類した共有ビューをいくつか作成しておいて、各人に「お気に入り」を使って表示したいジョブを微調整してもらうと良いでしょう。
    (目的別にデフォルトビューをいくつか作成しておいて、ユーザにデフォルトビューをカスタマイズしてもらう感覚です)

下図は、共通のジョブCMN_JOB2をもつ3つのビューからCMN_JOB2を削除した場合の様子を示しています。
    

おわりに

ビューに関するプラグインは他にもありますが、表示するジョブを静的に決定するものが多いように思います。
ブックマークを追加/削除する感覚で、表示するジョブを動的に決定することができるのが、このプラグインの面白いところです。