2016年3月28日月曜日

[Jenkins] 成果物(画像)を貼り付ける

今回は成果物に保存した画像ファイルをビルドページのトップに貼り付ける方法を紹介します。




なぜ、こんなことが必要かと言うと、
成果物ファイルを確認しようと思った時にリンクを一度クリックする必要があり、これが面倒くささに繋がります。
この一手間をなくすことで、より快適な環境になり、利用者の利点になります。

メリットの話はここまでにして、やり方を紹介します。

Groovy Postbuild Plugin
みんな大好き Groovy Postbuild Plugin !!
今回も Groovy を使用します。
ポイントは2つ、成果物パスの取得とサマリーへの img タグ挿入です。
実際のコードを見ていきましょう。

static createArtifactImageSummary(manager)
{
  def a = manager.build.getArtifacts()
  a.each {
    def path = it.relativePath
    if( path ==~ /.*\.(png|jpeg|jpg|bmp)/ ) {
      manager.listener.logger.println(path)
      manager.createSummary("clipboard.gif").appendText("<img src=\"artifact/$path\"><br />$path", false, false, false, "red")
    }
  }
}
Github

成果物のパスは、manager.build.getArtifacts() で取得した成果物リストを巡回して、relativePath から相対パスが取得できます。画像ファイルであれば manager.createSummary でサマリーを作成。さらに appendText で img タグを挿入しています。

これだけです。
これだけですが、このちょっとしたひと手間で閲覧者の面倒くささが取り除けます。
今回は画像ファイルでしたが、テキストなどの成果物でも応用ができると思います。
ぜひ試してみてください。

以上。


0 件のコメント:

コメントを投稿