連載
» 2013年05月17日 18時00分 公開

かんばん!〜もし女子高生がRedmineでスクラム開発をしたら(終):Hud美さんと学ぶRedmine×Jenkinsの神アジャイル (2/4)

[文:認定スクラムマスター 岡本隆史,イラスト:本橋ゆうこ]

継続的インテグレーションって何?


photo

ソフトウェア開発は、数人あるいは、もっとたくさんの人でチームやプロジェクトを組んで開発するけど、別々の人が作ったものをいきなりつなげて動かそうとしても、大体うまく動かないのよね。だから、ちょっと作っては全体できちんと動作するかどうか確認して、またちょっと作っては確認して…… というふうに少しずつ確認しながら開発を進めていく手法が生まれたの。それが、「継続的インテグレーション」(CI)よ。


photo

ふーん。ソフトウェア開発も試験対策と同じで、毎日の努力の積み重ねが大切なんだね。ちょっとずつ対策しておけば、いざテストっていうときに全然点が取れずに補習ってこともないものね。


photo

継続的インテグレーションをサポートしたツールを利用すると、テストやメトリクス情報を自動的に取得してグラフ化してくれたりして、より定量的に品質を管理できます。例えば、次の画面は「Jenkins」っていう継続インテグレーションツールの画面ですけど、コーディング規約違反数のカウントや、テスト結果やカバレッジの集計を行ってくれます。


図1 継続的インテグレーションによるメトリクス取得例

photo

コーディング規約違反? かばっじ??


photo

「コーディング規約違反のチェック」は、書かれたプログラムが、プログラムの書き方の規約、つまり決まりごとに違反していないか確認することだよ。「カバレッジ」は実行されたテストがプログラムを網羅しているかどうかの指標ね。コーディング規約違反は校則違反の取り締まりで、カバレッジは試験の出題範囲が教科書を網羅しているかどうかのチェックだと思えばいいかしら。


photo

へー、サイ○パスの“計測”に似ているのかなぁ。「あなたの出題範囲網羅係数は60です。受験対象ではありません」みたいな。


photo

継続的インテグレーションを行うツールの中で最も有名なものの1つにJenkinsがあります。Webブラウザで簡単に設定できて、たくさんのプラグインでいろいろな機能を追加したり他のツールと連携できたりします。Jenkinsの詳細については、記事『「Hudson」改め「Jenkins」で始めるCI(継続的インテグレーション)入門』にも詳しく書いてあるので、読んでみてください。


photo

Jenkinsのプラグインを導入すれば、この連載で紹介してきた、RedmineやGitと組み合わせて使えます。ALMiniumの最新版は、JenkinsとRedmine/Gitとの連携プラグインを導入しているから、RedmineとGitを組み合わせた環境を簡単に構築してくれます。Jenkinsのログインも、Redmineのユーザーが使えるように自動的にしてくれます。

図2 ALMiniumによるRedmine/Jenkins/Gitの連携イメージ

photo

じゃあ最初に、ALMiniumを利用したJenkinsのセットアップを、あるみちゃんに教えてもらうね。よろしく、あるみちゃん!!


ALMiniumによるRedmine/Jenkins/Gitのセットアップ


photo

承知しました。説明を始めます。ALMiniumのセットアップ方法は、すでに連載第3回の「スクラムやるならRedmineとALMinium!」で紹介してきました。基本的には、ここで紹介した通りにセットアップをしてけば良いのですが、最新版(OSはCentOSもしくはAWSのLinuxを利用)では、smeltコマンドを実行してインストールする途中で、以下のように聞いてきます。


Jenkinsをインストールしますか?[y/N]

photo

ここで「y」と答えれば、Jenkinsと必要なプラグインをインストールしてくれます。インストールしたJenkinsには、以下のURLでアクセスできます。


  • http://{ALMiniumをインストールしたホスト名}/jenkins/

photo

たったこれだけ? 簡単だね〜。


photo

ここからは、ALMiniumをインストールしたホストを「192.168.1.10」と仮定して説明してもらうね。ホストの設定は、みんなの環境に置き換えて聞いてね。


プロジェクトとリポジトリの準備


photo

Jenkinsを使ってみるには、プロジェクトやビルドファイルを用意しないといけなくて大変だから、筆者が用意してくれたサンプルのプロジェクトをGitにインポートして使ってみましょう。


photo

まずRedmineのプロジェクトとサンプルのリポジトリを用意します。連載第5回の『「うわっ…私のバージョン管理、ダメ過ぎ…?」を解決するGitの使い方“超”入門』を参考にRedmineプロジェクトとGitリポジトリを作成してください。


photo

作成時(もしくは作成後に)モジュールの設定で「Hudson」にチェックを入れてください。これで、そのRedmineプロジェクトでJenkinsが使えるようになります。


図3 Redmineの「Hudson」プラグインの設定

photo

Jenkinsは昔、「Hudosn」という名前で公開されていたの。Redmineのプラグイン名は、その名残で「Hudson」という名前になっているけど、注意してね。


photo

次に、リポジトリの準備を行います。https://github.com/okamototk/maven-sample.gitにサンプルで利用できるプロジェクトが用意されています。下記の手順で、RedmineのGitリポジトリにインポートしてください。


photo

このサンプルはJenkinsがあれば、RedmineやALMiniumがなくても試せるようになっているよ。Jenkins単独で試したい場合は、下記の4つのプラグインをJenkinsにインストールしてみてね。


  • Git Plugins
  • Jenkins Violations Plugin
  • JaCoCo Plugin
  • Jenkins Persona Plugin

photo

これで準備は完了ね。具体的な使い方は、Hud美ちゃんに教えてもらうわね。よろしくー。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。