プロ生ちゃん(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 は直接ファイルを書き換えました。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
body, table, form, input, td, th, p, textarea, select { | |
font-family: "メイリオ","Meiryo","ヒラギノ角ゴ Pro W3", | |
"Hiragino Kaku Gothic Pro","MS Pゴシック", "MS P Gothic","Osaka", | |
Verdana,Arial, Helvetica, sans-serif; | |
} | |
#main-table { | |
background-image: url(/images/pronama-chan.png) !important; | |
} | |
td.pane-header { | |
background-color: rgba(240,240,240,0.5); | |
} |
イラストは、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 にふってたのに全然作ってくれなかった。
今の暮井 慧ボイスの公開は有限ですので、ずっと使いたい方は、今のうちにダウンロードしておきましょう。