GitHub社が開発しているbotフレームワークHubotを使ってチャットアプリ上でチーム開発をいかに効率化していくかを解説していきます。今回は、HubotとRedmineを連携してチケットをチャットに通知する方法と環境構築、開発を楽しくするHubotスクリプトを6つ紹介。
前回の「GitHub製フレームワークHubotの概要とインストール、チャットアプリと連携する基本的な使い方」では、GitHub社が開発しているBotフレームワーク「Hubot」の概要、Hubotとチャットとの連携方法、Hubotの基本的な使い方を紹介しました。
今回からは実際の開発シーンを想定し、さまざまなツールとHubotを連携させ、便利に開発を進める方法を紹介します。
「サンプルアプリケーションに対して修正を行う」シーンを例に、Hubotと各ツールがどう連携するかを解説しながら進めていきます。
サンプルアプリケーションは「Spark」という、Rubyの軽量Webフレームワークである「Sinatra」を参考にして作られたJavaベースのフレームワークを使い、「Hello World!」と表示するだけの簡単なWebアプリケーションを作成しました。サンプルアプリケーションの中身については、次回解説します。
タスク管理は「Redmine」で行います。サンプルアプリケーションに機能を追加する前に、Redmineにチケットを作成します。チケットの作成や更新情報もチャットに流したいので、先に設定しておきましょう。
バージョン管理はGitHubそっくりなUIと機能を提供している「GitBucket」(Scala製)で管理し、ビルドやデプロイは「Jenkins」で行います。
デプロイしたサンプルアプリケーションおよびサーバーはOSSの統合監視ツールである「Zabbix」で監視を行い、それぞれのツールを連携し、チャットに情報を集約させます。
利用したソフトウェアとバージョンは以下の通りです。
環境構築手順は前回記事にHubotとKandan、今回の記事からはそれ以外の手順を載せていますので、ご参照ください。
以下では、Redmineについて、Ubuntu Server 14.04上での環境構築手順を紹介します。簡易的な手順となっていますので、各自必要に応じてnginxなどを入れてください。
以下のコマンドでRubyをインストールします。Rubyのバージョンを切り替えて利用したい場合は「rbenv」などを利用してインストールしてください。
$ sudo add-apt-repository -y ppa:brightbox/ruby-ng $ sudo apt-get update $ sudo apt-get install -y ruby2.1 ruby-dev ruby2.1-dev $ ruby -v ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux-gnu]
以下のコマンドでApacheとMySQLをインストールします。
$ sudo apt-get install -y apache2 $ sudo apt-get install -y mysql-server libmysqlclient-dev libmysqld-dev
以下のコマンドでMySQLの文字コードを指定します。
$ sudo vim /etc/mysql/my.cnf
[mysqld] ……(省略)…… +character-set-server=utf8 [mysql] ……(省略)…… +default-character-set=utf8 [mysqldump] ……(省略)…… +default-character-set=utf8 ……(省略)……
以下のコマンドでRedmine用のデータベースを作成します。
$ mysql -uroot mysql> create database db_redmine default character set utf8; mysql> grant all on db_redmine.* to user_redmine@localhost identified by 'redmine'; mysql> quit Bye
以下のコマンドでRedmineを展開します。
$ curl -O http://www.redmine.org/releases/redmine-2.5.2.tar.gz $ tar zxvf redmine-2.5.2.tar.gz $ sudo mv redmine-2.5.2 /var/lib/redmine
Copyright © ITmedia, Inc. All Rights Reserved.