Jenkins-IDE連携はIntelliJが一番ショボい

そんなわけで個人的にはIDE連携には興味ないんですけどね。:-P
Jenkins Advent Calendar jp 2011の7日目です。id:kiy0taka さんが暖めたネタを華麗にスルーして淡々と進めますね。


と要らんことをいちいち書いてしまうのは自分の悪い癖だなと最近気づいたわけですが、他のIDEの場合、以下のように標準でサポートしてます。

  • NetBeans ... 標準サポート
  • Eclipse ... MylynのHudson/Jenkinsコネクタでサポート

IntelliJの場合は、Jenkins Control PluginHudson Build Monitorあたりですが、どちらもイマイチです。


NetBeansの場合

サービスウィンドウにある「Hudsonビルダ」にマウスカーソルを当て、コンテキストメニューから「Hudsonインスタンスを追加...」を選びます。そして表示されたダイアログに連携したいJenkinsのURLを登録するだけです。


とっても簡単です。コンテキストメニューからJenkinsに登録してあるビューを指定して、特定のジョブだけ監視することができます。あらかじめビューを登録しておかないとダメってのが残念なところ。


ジョブをドリルダウンしていくと、そのジョブの過去ビルドを辿れます。不安定となったビルドの場合、コンテキストメニューから、その時の結果を参照することもできます。


テスト結果ウィンドウがあるのに、出力ウィンドウに結果がダンプされるだけってのが残念な感じです。それでもスタックトレースのリンクからソースコードに辿れるので、無いよりはマシって程度です。

Eclipseの場合

Help -> Install New Software...からMylynと"Mylyn Builds Connector: Hudson/Jenkins (Incubation)"をインストールします。


MylynがインストールできたらWindow -> Show View -> Other...からMylyn/Buildsを選び、Buildsビューを表示します。


Buildsビューは空っぽなので "build server" のリンクか、右上のアイコンから新しいビルドサーバを追加します。


Build server追加ウィザードの一番最初は割愛します(普通は"Hudson (supports Jenkins)"しか無いんじゃないかな?)。次の"Hudson Server Properties"で連携するJenkinsの情報を登録します。


LabelはBuildビューの表示名です。ServerにJenkinsのURLを登録したのち、Refreshボタンを押すとジョブの一覧が表示されるので、その中から連携したいジョブを選択します。


Buildビューには監視対象にしたジョブの今の状態が表示されます。コンテキストメニューからHisotryを選ぶと、そのジョブの過去ビルドに辿れます。


Historyビューからビルドを指定(ダブルクリック)すると、そのビルドの詳細が表示されます。さらにそのときのテスト結果をJUnitビューに表示することもできます。


過去ビルドの参照やJUnitビューを表示するまでの操作が煩雑な気もしますが、Mylynの連携方法が一番デキが良いと思います。でもOutputビューの日本語が文字化けしてたような記憶が...。

まとめ

JenkinsとIDEを連携して一番うれしいのは過去ビルドのテスト結果が参照できることだと思います。特に失敗したテストとそのエラー情報からソースのジャンプできること。
大抵、CIでテストに失敗したら、その修正作業に入りますよね。BTSにチケット切って作業に入るかもしれませんが「なんでテストがコケたのか」は、そんときのビルド結果を参照するのが普通だと思います。そんな時に過去ビルドの結果をIDEから参照できるのとうれしいですよね。というか自分はそれが一番うれしかった。


特にNetBeansの場合、テスト結果を複数保持することができないので、連携結果がショボいとは言え、無いよりマシなんでは?と思います(棒読み。


正直、IDEからビルドの実行ができたり、ビルド結果通知を受けてもうれしくも何ともないです。どっちかというと、テスト結果とかインスペクション結果とかクライアントじゃ重くてやってられない処理結果を連携してくれるとうれしいですよね。
#その辺やってくれるのがTeamCityだったりします。:-)