2015年3月6日金曜日

Remote access APIを利用して、Jenkinsをもっと便利に!

株式会社Pro-SPIRE エンジニアリングサービス事業部の髙木です。
本日は前回と同じくJenkinsについてのお話です。

Jenkinsの管理画面のトップページは、大まかに分けて以下 3つの情報が集約されています。

・ビルド実行状態、
・ビルドキュー
・登録ジョブ

以上のまとまった情報が閲覧できるので、最初のうちはとても使い勝手のいい画面です。
しかし、複数人での運用がはじまり、管理するジョブが増えると以下の状況が発生します。

・バックグラウンド上で常にジョブが常に実行されている
・ビルドキューに常にジョブが溜まっている
・管理外のノードマシンが増え続ける

以上の状況より、管理画面がどんどん煩雑になっていき、見づらくなってしまいます。
Jenkinsの状態によっては、管理画面の表示がとても遅くなってしまい、
ビルド実行の画面に遷移するまで数秒かかってしまう場合もあります。

リストビューをカスタマイズし、特定のジョブだけを表示するなどの工夫も可能です。
しかし、複数人で運用する場合のオペレーションも考慮する場合、
画面自体の情報量を制限することも必要になっていきます。

そこで今回ご紹介したいのはJenkinsのRemoteAPIです。

■Remote access API - 日本語 - Jenkins Wiki
http://blog.kyanny.me/entry/2014/12/20/020700
※上記のリンクは外部サイトが別ウィンドウで開きます。


Remote access APIを利用すれば、
Jenkinsの情報をXMLやJSON形式で取得することができます。

また、実行中ジョブなどの情報も取得することもできます。
詳細につきましては、下記参考リンクをご覧下さい。


■リモートからJenkinsのジョブが実行中であるか確認する
http://alligatorswamp.hatenablog.com/entry/2013/04/05/225358
※上記のリンクは外部サイトが別ウィンドウで開きます。

■Jenkins の外部ジョブ監視の結果を監視してみる
http://inokara.hateblo.jp/entry/2013/07/31/065026
※上記のリンクは外部サイトが別ウィンドウで開きます。

JSON形式で提供されているため、AngularJSやBackbone.jsなどのMVVMフレームワークなどと
組み合わせて使用してみてはいかがでしょうか。

個々の目的にあった情報を集約し、目的に沿った管理画面を作成することが
Jenkinsの運用をスムーズに行えるようになる一つの方法だと考えます。

今回は、JenkinsのRemote access APIについて、ご紹介させていただきました。
運用面において、管理画面の使いやすさは、特に重要なものかと思います。

JenkinsのRemote access APIを利用して、快適なビルド環境を構築しましょう!

0 件のコメント:

コメントを投稿