Jenkinsのプラグインを検索していたら
"MQTT Nortification Plugin"
というイマドキなプラグインを見つけた。
ので無性に試してみたくなってJenkinsへインストールしてみた。
でジョブ設定に入って「ビルド後の処理の追加」を覗いてみると
「MQTT Nortification」という欄ができていた。
追加するとMQTTブローカ先の指定やPublishするトピック名、メッセージ本体、QoSなどが設定できるようになっていた。
これを試すにはMQTTブローカが必要になる。
で、ふと思ったのだけどJenkins実行環境がproxy環境配下のDockerマシン上なので、BluemixのIoT Foundationに直接メッセージを送れない..
しょうがないので、同じDocker上に別コンテナでMosquittoをたちあげた。
Jenkins側のジョブでは、
Broker URL欄に"tcp://localhost:1883"、
Credentials欄はなしのまま(Mosquittoで認証設定していないため)、
Topic欄は"iot-2/evt/status/fmt/json"(なんでもいいけどIoT FoundationのQuickstartでも動かせることができるように)、
Message欄は(IoT Foundation推奨フォーマットJSON形式の)
{
"d":{
"myName":"Jenkins Test"
"result":$BUILD_RESULT,
"url":$PROJECT_URL,
"culprits":$CULPRITS
}
}
とした。
MQTTブローカに最後のメッセージを1件のこして新たに追加されたSubscriberに対して最初にそのメッセージを送りたい場合はRetain Message欄をチェックするらしい。お試しでは使わないので何もしなかった。
で、ジョブを実行するとmosquitto_sub側のターミナルにメッセージが表示され、動作していることがわかった。
CULPRITSは空か..何が入るかはもう少し使ってみないとわからないが、少なくとも成功かどうかやジョブ名はSubscriber側におくることはできるようだ。
これで、Arduino側でLチカとか使えばXFDできそう..
0 件のコメント:
コメントを投稿