Developer's Blog

Jenkins がもっともっと便利になるプラグイン 8 つ

logo

こんにちは、開発担当の松本です。

前回のプラグイン紹介記事がわりと反響があったようですので、今回も便利プラグインをいくつか紹介します。

好みのテーマに変更できる: Simple Theme Plugin

theme1

左下のいつも出ている執事の顔が気になってくる人は多いと思います。

そんなときにはこのプラグイン。CSS と JavaScript を挿し込むだけの単純なプラグインながらその効果は絶大です。

利用するには、プラグイン導入後に Jenkins の管理 → システムの設定 → theme に追加する CSS と JS を指定するだけです。

theme2

プラグインのページにはサンプルのCSSファイルも用意されています。

とりあえず、執事の顔を消したいだけなら CSS に次のように記述すればよいです。

#main-table {
  background-image: none !important;
}

ページの左上のロゴ画像を変更するには、id も class も指定されていないので JavaScript を利用するしかなさそうです。
てきとうに対応するなら次のような JavaScript で次のように書くとよいです。

document.addEventListener('DOMContentLoaded', function(){
    document.getElementsBySelector('[alt="title"]')[0].src = 'http://127.0.0.1:8080/userContent/theme/title.png';
}, false);

JavaScript と CSS で背景が黒いテーマにするためにいじってみたら次のようになりました。拡張によってはスタイルが埋め込みになっていたり、グラフやいくつかのアイコンは透過 PNG ではなかったりするので、そのあたりまで対応しようとするとかなりの労力が必要になりそうです。

theme3

見た目を自分好みにカスタマイズしたいときや、自分の JavaScript を入れて便利にしたい人はどうぞ。

ビルドのトリガとなった要因をバッジで簡単に確認できるようになる: Build Trigger Badge

triggerbadge1

各ビルドにトリガとなった要因をバッジで表示してくれるプラグインです。

ユーザの手動から、上流から、SCM のポーリングから、など要因が一目でわかるようになります。

導入後は設定不要で、それ以降のビルドの要因となるものをバッジで表示してくれるようになります。

なお、一番上のスパナバッジはこのプラグインによるものではなくて、JobConfigHistory によるもので、このビルドから設定が変更されていることを示しています。

JobConfigHistory のこの機能は今年出た Version 2.1 からのものですのでアップデートしていない方はぜひ試してみてください。

コンソール出力に時間を表示する: Timestamper

timestamper1

コンソール出力のページのログメッセージに、出力されたときの時間を表示できるようにするプラグインです。

利用するにはプラグイン導入後に、プロジェクトの設定ページのビルド環境セクションに追加されている次の項目をチェックするだけです。

timestamper2

すると、それ以降のビルド実行でタイムスタンプが表示されるようになります。

また、コンソール出力のページに設定項目が追加され、ビルド実行開始からの経過時間を表示させるようにすることもできます。

timestamper3

ビルド中の細かい時間経過を知りたいときにどうぞ。

各ビルド結果のサイドバーにリンクを作成する: AnchorChain

anchor1

ビルド結果のサイドバーにリンクを追加することができるプラグイン。

これを使うとワークスペースや成果物フォルダの深くに埋もれているファイルへ楽にアクセスできるようになります。

利用するにはプラグイン導入後に、プロジェクトの設定 → ビルド後の処理に追加されている Anchor Chain でファイルを指定するだけです。

anchor4

ファイル自体は1行1エントリのタブ区切りで、リンク名、リンク先、アイコンの順番に指定します。

Go to WS    /job/Sample/ws/very/deep/directory/foo/ /userContent/ws.png
Get exec    ./artifact/very/deep/directory/foo/*zip*/foo.zip    /userContent/save.png

リンク先は単純に A タグの属性 href に埋まるだけですので、
例えばプロジェクト Sample のジョブ #58 での URL が http://jenkins.example.com/job/Sample/58/ だとすると、上の例の

  • 「Go to WS」なら
    http://jenkins.example.com/job/Sample/ws/very/deep/directory/foo/
    
  • 「Get exec」なら
    http://jenkins.example.com/job/Sample/58/artifact/very/deep/directory/foo/*zip*/foo.zip
    

へのリンクになります。

なお、リンク名には日本語が使えないようなので注意してください。

各プロジェクトの設定を一括変更できる: Configuration Slicing

slicing1

SCM のポーリング実行タイミングやシェルスクリプトなど、同じ設定のものを一括で変更したいことがあります。そんなときにはこのプラグイン。同じプロジェクト設定を一括で変更できるようにするプラグインです。

次のスクリーンショットは SCM ポーリングの設定を一括変更しようとした例で、左側に設定の値、右側にプロジェクト名が表示されています。

slicing3

これを利用するには、Jenkins → Jenkinsの管理 → Configuration Slicing から行くことができます。

slicing2

一括変更可能なものには、

  • Windows バッチ/シェル/ Python スクリプト
  • ビルドパラメータ
  • SCM のポーリング時間
  • カスタムワークスペース

などがあり、それ以外にもたくさんあります。一覧はプラグインのページにありますので導入を検討されている方は一度チェックしてみてください。

コンソール出力に表示されるパスワードをマスクする: Mask Passwords

maskpass1

シェルスクリプトなどでパスワードを平文のまま埋め込むことに気が引けている方向けのプラグインです。

設定したパスワードを * で見えないようにします。

利用法するには、プラグイン導入後にプロジェクト設定 → ビルド環境 → Mask passwords (and enable global passwords) をチェックし、
変数名とそれに割り当てるパスワードを設定します。

maskpass2

そうすると、普通のビルドパラメータと同様に、環境変数として扱うことができるようになります。

指定した URL の内容変更をトリガにできる: URLTrigger

polling1

指定した URL をポーリングして、内容が前と違うならビルドを実行させたりできるようにするプラグインです。

利用法するには、プラグイン導入後にプロジェクト設定 → ビルド・トリガ → [URLTrigger] – Poll with a URL をチェックします。

polling2

そして、監視対象の URL、監視の方法、監視のスケジュールを指定するだけです。
例えば、コンテンツの変更を検知したいなら Inspect URL content で Monitor a change of the content を指定します。

これ以外にも、HTTP レスポンスステータスコードや JSON ファイルの特定のノードに変更があったかどうかからなどでもトリガにすることができます。

複数 SCM プラグインを SCM ジョブで実行できる: Multiple SCMs

multiplescm1

ひとつのプロジェクトで複数の SCM を同時に利用したい場合に利用するプラグインです。

デフォルトの Jenkins ではひとつの SCM しか選択できませんので、そういうときはこのプラグイン。

利用法するには、プラグイン導入後にプロジェクト設定 → ソースコード管理システムで Multiple SCMs を選んで、add SCM で必要な SCM を追加していくだけです。

multiplescm2

なお、手元の環境では Clone Workspace SCMBazaar は利用するとビルド時にエラーになりました。

git プラグインは複数のリポジトリを指定できますので、git のみを利用する場合には必要のないプラグインですが、他のプラグインと組み合わせたいときは利用するとよいでしょう。

おわりに

プラグインは日々、変更や追加されていますのでたまにチェックするとより幸せになれるかもしれません。

Jenkins のプラグイン情報をツイートする bot もありますので必要な方はチェックしてみてください。

そして、お勧めのプラグインがあればぜひ紹介してください。

ソーシャルアカウント

フェンリルのオフィシャル Twitter アカウントでは、フェンリルプロダクトの最新情報などをつぶやいています。よろしければフォローしてください!

Copyright © 2019 Fenrir Inc. All rights reserved.