HubotとJenkins、GitBucketを連携してCIをチャット上で効率化するには:チャットボットでチーム開発効率化入門(3)(3/3 ページ)
GitHub社が開発しているbotフレームワークHubotを使ってチャットアプリ上でチーム開発をいかに効率化していくかを解説していきます。今回は、JenkinsとGitBucketをインストールしHubotと連携してチャットからJenkinsのジョブを実行する方法などを紹介します。
JenkinsとHubotの連携
Jenkinsのジョブの通知をHubotに行う設定と、チャットからHubotを介してJenkinsのジョブを実行するための設定を行います。
Hubotの設定
Hubotをインストールしたサーバーで、JenkinsのURLと認証情報を環境変数に設定します。
$ export HUBOT_JENKINS_URL=http://YOUR_HUBOT_HOST:8080 $ export HUBOT_JENKINS_AUTH=USER:PASSWORD
「hubot-scripts.json」に"jenkins.coffee"と"jenkins-notifier.coffee"を追加します。
- ["redis-brain.coffee", "tweet.coffee", "shipit.coffee"] + ["redis-brain.coffee", "tweet.coffee", "shipit.coffee", "jenkins.coffee", "jenkins-notifier.coffee"]
Jenkins Job Notificationの設定
URLは「http://YOUR_HUBOT_HOST:8080/hubot/jenkins-notify?room=1¬strat=FS」を設定します。
「notstrat」は、notificationSTrategyを設定する項目です。[F|f]がFailureで、[S|s]がSuccessです。大文字は常に通知する設定で、小文字はビルドステータスに変更があった場合のみ通知する設定です。ビルドの成功時は変更があった場合のみ通知、失敗は常に通知などプロジェクトに合わせて設定してください。
チャットアプリからJenkinsのジョブを実行
設定が正しく行えていれば、以下のようにKandanからビルドの実行、ビルド通知、ジョブのリストなどを確認できます。
ビルドが成功した場合にデプロイまで行うように設定したので、追加した処理が動いているか確認してみます。「/hello/takehito」とアクセスしたので、「Hello takehito!」と表示されています。
次回はZabbixと連携してHubot経由でチャットに障害通知
ここまででサンプルアプリケーションを修正、デプロイまで行いましたが、実運用する際はサーバーやアプリケーションの監視を行うことが多いと思います。次回はZabbixを使ってWebサーバーを監視し、Hubot経由でチャットに障害通知を表示してみます。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Jenkins+HipChat+Hubotをチーム開発に導入してお手軽CI
現代の開発現場において欠かせないCI/継続的デリバリを、iOSアプリ開発に適用するためのツールやノウハウを解説する連載。最終回は、Jenkinsと連携させやすいチャットツールHipChatやBotフレームワークHubotを組み合わせてCIをより効率的に回す方法について解説します。 - 実録! チーム開発が捗り過ぎるSlack+GitHub+Trelloの使い方
スタートアップではいかにお金を使わずにプロダクトを開発するかは成功につながる大きなポイントとなる。コストを掛けずにプロダクトを作っていく上で、導入すべきツールをどのように使うかを数回に分けて紹介。今回は、開発プロジェクト向けチャットツール「Slack」の特徴を解説しプロジェクト管理ツール「Trello」や「GitHub」と組み合わせた活用事例を紹介する。 - GitHub(ギットハブ)の使い方:連携サービス
ソフトウェア開発プロジェクトの共有Webサービス「GitHub(ギットハブ)」を「日本語で」分かりやすく説明するシリーズ、今回は「asana」や「Travis」などの連携サービスを紹介します。 - 安藤幸央のランダウン[60]:GitHubをもっとソーシャルに使いこなすための7つ道具
ソースコードホスティングのGitHub周辺で便利な新サービスが続々登場しているので、まとめて紹介しよう。Gist、GitHub Pages、Binpress、fluxflex、 Janky、Hubot、Travis CI、GitHub Watchersなどが注目だ