プロ生ちゃん(CV 上坂すみれ)に Jenkins のジョブ結果を通知してもらう方法
プロ生ちゃん(暮井 慧・CV 上坂すみれ)が Jenkins のジョブ結果を通知する Chrome 拡張と Windows クライアントを公開しました。また、Jenkins の見た目の変更も紹介します。OSC 2014 Nagoya で展示していた内容です。
暮井 慧ボイス には、Jenkins に使えるボイスもあるんですよ!(No. B305~B307)
ジョブ結果の通知 概要
通知は、Jenkins の Websocket Plugin を利用して、Chrome 拡張の mallowlabs/jenkins-notifier-for-chrome と Windows クライアントの tnakamura/WebSocketNotifierClient を修正して行いました。
Chrome 拡張・Windows クライアントどちらの場合も、ジョブのビルド後の処理に「WebSocket Notifier」を追加して行います。
参考(元のプログラムの詳細はこちらで)
- Jenkinsのビルド結果をリアルタイム通知するプラグイン『Jenkins Websocket Notifier』を作りました – みずぴー日記
- Jenkins のビルド結果を通知する Chrome エクステンション作った – mallowlabsの備忘録
- Jenkins の WebSocketNotifier プラグインの Windows クライアントを作ってみた – present
Chrome 拡張「Pronama-chan Jenkins Notifier for Chrome™」
Chrome Web Store で公開しました。
- Chrome Web Store: Pronama-chan Jenkins Notifier for Chrome™
- GitHub: jz5/pronama-chan-jenkins-notifier
元の Jenkins Notifier for Chrome™ から下記の変更を主に行っています。
- webkitNotifications から chrome.notifications に変更(使えなくなっていたので)
- MP3 ファイルを HTML5 Audio により再生
Windows クライアント「Pronama-chan WebSocketNotifierClient」
とりあえず音声で通知できるレベルにしたコードを公開します。
元の WebSocketNotifierClient から下記の変更を主に行っています。
- 成功・失敗・不安定 以外の通知が来た場合、失敗扱いになっていたので、中断の判定を追加して、成功・失敗・不安定・中断の通知のみ処理するように変更
- Wave ファイルの再生
- おそらく使用ライブラリを最新のものを参照したため EventHandler の型が一致していないエラーを修正
見た目の変更
さらに、Jenkis のページの見た目を変更しましょう! Jenkins の Simple Theme Plugin を利用して追加のスタイルシートを指定し、背景画像を変更しています。favicon は直接ファイルを書き換えました。
https://gist.github.com/jz5/ea0761ecb010393d5541
イラストは、pronama-chan.png を利用できます。favicon.ico もあります(小さすぎてよくわかりませんが)。
参考
Jenkins の使い方 参考サイト
実は、はじめて Jenkins を使いました。参考になったサイトを紹介します。Jenkins のインストール時刻が、7/3 23時。OSC の展示開始が 7/5 10時(自宅出発は5時)。1日もあれば、プロ生ちゃん Jenkins が可能。そう無職ならね。
Jenkins のジョブ結果に Aborted があることを知らなかったので、暮井 慧ボイスにピタッと対応するものがないです。今回は「おっと!」を使っています。
.NET 開発者のための Jenkins 入門
少し古いけど MSBuild の設定からメール送信までここを見てしました。今では MSBuild プラグインは、公式プラグインからインストールできます。
デフォルトでは、メールの差出人のアドレスが存在しないドメインのため STMP サーバーではじかれてました。アドレスを変更するには「Jenkins の位置」から。
はじめはメール通知プラグインのコード修正を考えていましたが、ソースコードやプラグイン開発の情報を見てやめました。
Windows7 に、一人で使うための Jenkins を入れてみた
デフォルトで使われるポート8080は、他のアプリと重なるために変更。 「C:Jenkinsjenkins.xml」内の、「–httpPort=8080」を変更した。
ポートの変更方法。C:Program Files (x86) にインストールした場合は、管理者権限で実行するメモ帳などで変更しないとダメ。
Jenkins を再起動する方法
safeRestartというパスにアクセスすると再起動できる
favicon など直接変更したときに再起動。よく見たら「メモ的な思考的な」の方にも書いてました。
余談
今回の内容に多大に関係している mzp さんに OSC Nagoya でお会いできました(参加されていること全然知らなかった)。プロ生ちゃん Jenkins の写真を撮影していました。
プロ生ちゃん Jenkins ネタは、ごはん代と引き換えに @kyubuns にふってたのに全然作ってくれなかった。
今の暮井 慧ボイスの公開は有限ですので、ずっと使いたい方は、今のうちにダウンロードしておきましょう。