連載
NAgileで始める実践アジャイル開発

第5回 常時結合のススメ

NAgiler 黒石 高広
2006/11/25

■■3. 常時結合を実践するCIサーバ■■

CIサーバというのは、その名のとおり継続的インテグレーション(常時結合)を実践するためのサーバということだ。.NET開発の場合、米国ThoughtWorks社がオープンソースとして開発しているCruiseControl.NET(以降、CCNET)というソフトウェアがある。Javaの世界のCruiseControlの.NET版ということだ。ちなみにThoughtWorks社は、かの魔亜珍・富亜裏(まあちん・ふぁうら)氏が所属している会社で、アジャイル開発を実践している会社としても有名だ。

 

勝手に漢字の当て字を作らないでくださいよ!! マーチン・ファウラー氏ですよね。リファクタリングの本を書かれた。

 

当て字は気に入らなかったか、まぁよい。CCNETを簡単に説明するとバージョン管理システム上の変更を検知し、コンパイルと自動テストを走らせるソフトウェアだ。また、スケジューラによって定期的にビルド・エンジンを呼び出すこともできるので、夜間バッチとして日次ビルドを実行することも可能である。

 

へぇ〜面白そう!

 

またビルドを実行するだけでなく、ビルドやテストの結果を見るためのUIも付属している。以下のような画面のWebダッシュボードと呼ばれるものだ。

   
CCNETのWebダッシュボードの表示例
 

この画面で、どのプロジェクトがビルドに失敗したか確認することができるし、ここから手動で強制的にビルドを実行することもできる。

 

ひょっとしてテスト結果も確認できます?

 

もちろんだ。プロジェクトをさらに詳細に確認するとビルドやテスト結果も確認することが可能だ。

 
CCNETのWebダッシュボードで表示されるテスト結果の例
 

おお! すごい。どのテストが失敗したかも一目りょう然ですね。

 

テストだけでなく、コーディング規約のチェックやテストのカバレッジ(網羅)率なども確認することが可能だ。ほかにもさまざまなツールをビルドに組み合わせることができる。

 
CCNETのWebダッシュボードで表示されるテストのカバレッジ結果の例
 
ほほ〜CCNETって、すごいですね〜。で、どうやって使えばよいんですか?
 

CCNETの使い方については、以下のリンクを参考にするとよいだろう。それと実際にCCNETを使うに当たっては、XMLを編集する知識とビルドの自動化の知識が必要となる。ビルドの自動化については、前回の話を参考にしてほしい。

【そのほかの参考情報】

 

ふ〜ん、CIサーバって多くの技術の集大成なんですね。

 

前提となる知識や技術が多い分、テスト駆動開発やビルドの自動化よりも敷居が高いかもしれんが、ツールや情報はそろっているので恐れることはない。頑張ってみるんだな。

 

はい! 頑張ります。

 

その意気だ。では、続いて常時結合を実践するためのノウハウも伝授しよう。

 

今日は盛りだくさんですね。よろしくお願いします!

 

 INDEX
  NAgileで始める実践アジャイル開発
  第5回 常時結合のススメ
    1.はじめに
    2.常時結合とは
  3.常時結合を実践するCIサーバ
    4.常時結合を実践するための6カ条
    5.まとめ
 
インデックス・ページヘ  「NAgileで始める実践アジャイル開発」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間