お勧めのJenkinsプラグイン

個人的にお勧めのJenkinsプラグインをまとめてみました。


1 C/C++開発で役に立つJenkinsプラグイン

1.1 JUnit Plugin

JUnitという名前ではありますが、JUnitの書式に則ったテストログなら利用できます。JUnitの書式に則ったテストログを得られるならば、Jenkinsでテストの成功・失敗を管理できます。

例えばGoogle C++ Testing FrameworkはC/C++向けのテスティングフレームワークですが、JUnit Pluginで読み込めるXMLレポートをサポートしております。

[プログラム名] --gtest_output="xml:[ファイル名]"

Google C++ Testing Frameworkの使い方はこちらを参照して下さい。

1.2 Cppcheck Plugin

静的解析ツールのCppcheckの結果をJenkins上に出力するプラグインです。静的解析ツールを用いることでコーディングミスを減らすことができます。CppcheckもMakefile解析をサポートしていて使い勝手が良いです。–inconclusiveオプションを使わなければFalse Positiveな結果も少ないので、検出結果の調査は無駄にならないでしょう。

Clang Scan-Build PluginというClang Static Analyzerを用いた静的解析ツールもあるのですが、残念ながらxcode専用のものとなっています。

1.3 Valgrind Plugin

メモリリーク検出ツールのValgrindの結果をJenkins上で実行し、出力するプラグインです。ValgrindはJenkinsのジョブで定期的に実行するべきです。メモリリークは最も難解なバグのひとつなので、ソースコードの変更内容が頭に入ってるうちに調査に取り掛かるようにしたいところです。

1.4 Cobertura Plugin

コードカバレッジの計測ができるようになります。CoberturaはJava用のコードカバレッジレポートツールですが、lcovとlcov-to-cobertura-xmlを用いることでC/C++でも使うことができます。

2 GUIアプリケーション開発で役に立つJenkinsプラグイン

2.1 XVnc Plugin

vncserverでディスプレイを作成してGUIアプリケーションを実行することができます。マウスイベント入力の自動化ツールを用いればGUI操作のテストも可能です。

2.2 VncRecord Plugin

vncserverで作成したディスプレイを録画できます。問題があった場合に画面を確認することができます。

2.3 VncViewer Plugin

vncserverで作成したディスプレイをリアルタイムで視聴できます。VncRecord Pluginとは異なり、動画を録画しません。

3 Android開発で役に立つJenkinsプラグイン

3.1 Android Emulator Plugin

Android emulatorの起動と停止、パッケージのインストールを担うプラグインです。Monkeyテストの実行と結果出力もサポートしています。

4 Redmineとの連携で役に立つプラグイン

それぞれ開発元が別々になっていますが、統合されるとより良いものになりそうです。

4.1 Redmine Plugin

Jenkins上に表示されるリポジトリの変更履歴にRedmineチケットへのリンクを作成します。リポジトリのコミットに記載された"refs #[チケット番号]"からRedmineチケットへのリンクを作成します。

4.2 redmine-posttask-plugin

Jenkinsジョブの終了時にRedmineへチケットを登録します。テストが失敗した場合のみ登録することも可能です。テストのFail調査をRedmineで管理する場合にチケット登録を自動化できます。

4.3 Redmine Build Notifier Plugin

RedmineのチケットにJenkinsジョブのリンクを追加します。テストのFail調査で何回もJenkinsジョブを実行する場合に有用です。

5 KVMとの連携に役立つプラグイン

5.1 Libvirt Slave Plugin

Libvirtで制御される仮想マシンの起動と停止をサポートします。Jenkinsジョブ実行時のみ仮想環境のリソースを使用するので、リソースを節約することができます。