Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TFSUG : TFS2010ハンズオンラボ資料

2,928 views

Published on

  • Be the first to comment

  • Be the first to like this

TFSUG : TFS2010ハンズオンラボ資料

  1. 1. Team Foundation Server2010~Hands on Labs~名古屋アジャイル勉強会分科会開発ツール勉強会Team Foundation Server 2010 を利用してユーザーストーリーやタスクを利用した計画ミーティングやソース管理や継続的インテグレーションを利用した開発を体感していただくためのハンズオンラボTFSUG2012/02/25
  2. 2. 目次1. はじめに ............................................................................................................................................................. 32. 環境の確認 ......................................................................................................................................................... 3 2.1. 必要なソフトウェア ................................................................................................................................... 3 2.2. 接続環境...................................................................................................................................................... 3 2.3. Visual Studio の設定の確認....................................................................................................................... 43. ハンズオンラボの概要 ....................................................................................................................................... 44. プランニング...................................................................................................................................................... 5 4.1. チームプロジェクトへの接続 ..................................................................................................................... 5 4.2. ユーザーストーリーの作成 ........................................................................................................................ 5 4.3. タスクの作成 .............................................................................................................................................. 65. 開発~基本編~ .................................................................................................................................................. 7 5.1. クラスライブラリの作成 ............................................................................................................................ 8 5.2. ユニットテストの作成 ................................................................................................................................ 9 5.3. リポジトリへの登録 ................................................................................................................................. 11 5.4. ビルド定義の設定 ..................................................................................................................................... 11 5.5. ソースファイルの編集とチェックイン .................................................................................................... 12 5.6. チームビルドの結果確認 .......................................................................................................................... 12 5.7. 進捗レポートの確認 ................................................................................................................................. 13 5.8. ここまでのまとめ ..................................................................................................................................... 136. 開発~応用編~ ................................................................................................................................................ 14 6.1. ビルド通知を利用するための準備............................................................................................................ 14 6.2. チェックインポリシーの設定 ................................................................................................................... 14 6.3. ビルド定義の変更 ..................................................................................................................................... 15 6.4. テストに失敗するソースファイルの編集とチェックイン ....................................................................... 15 6.5. テストに成功するソースファイルの編集とチェックイン ....................................................................... 16 6.6. ここまでのまとめ ..................................................................................................................................... 177. まとめ............................................................................................................................................................... 17A) 付録............................................................................................................................................................... 17 A.1. レポートの即時更新 ................................................................................................................................. 17名古屋アジャイル & TFSUG | Team Foundation Server 2010 Hands on Labs 1
  3. 3. 著作権 Team Foundation Server 2010~Hands on Labs~(以下、本資料)の著作権は Team Foundation Server UsersGroup(TFSUG)スタッフ一同に帰属しています。 本資料の一部、または全部はコミュニティ活動における使用、非営利目的での使用および社内における勉強会での使用のみとし、無断転載、無断コピーなどはおやめください。如何なる理由があっても本資料を営利目的に使用することはできません。免責事項 本資料または本資料に記載されている内容に基づく教育は会場利用料を除きすべて無償で提供されるものです。よって、本資料または教育によって発生した損害の一切を補償することはありません。 本資料は本資料内で紹介している各製品、各ツールの利用を許諾するものではありません。本資料内で紹介している各製品、各ツールを利用する場合はそれぞれの開発元における使用許諾条件に従ってください。2 Team Foundation Server 2010 Hands on Labs| 名古屋アジャイル & TFSUG
  4. 4. 1. はじめに Team Foundation Server 2010 ハンズオン(本ハンズオン)は、Team Foundation Server 2010(TFS 2010)が用意している各機能を非常に小さな開発プロジェクトの実践を通して体感していただくものです。2. 環境の確認 必要なソフトウェア、および演習を行うために必要な環境の確認を行います。2.1. 必要なソフトウェア 本ハンズオンを行っていただくには以下の環境が必要になります。 ・各項目でいずれか1つが必ず必要 ・Windows ・Microsoft Windows Vista ・Microsoft Windows 7 ・Visual Studio ・Microsoft Visual Studio 2010 Professional Edition with Service Pack 1 ・Office ・Microsoft Office Excel 2007 ・Microsoft Office Excel 2010 ・すべての環境を用意する場合 ・Windows ・Microsoft Windows Server 2008 Standard Edition ・Microsoft Windows Server 2008 R2 Standard Edition ・Team Foundation Server ・Microsoft Team Foundation Server 2010 ・Microsoft Team Foundation Server 2010 Power Tools ・Microsoft Team Foundation Server Build Extensions Power Tools ・SQL Server ・Microsoft SQL Server 2008 Standard Edition ・Microsoft SQL Server 2008 R2 Standard Edition ※32bit, 64bit は問わないが、いずれかのプラットフォームで統一して準備することが望ましい。2.2. 接続環境 本ハンズオンでは以下の接続環境を利用して作業を行います。 種類 設定値 TFS 2010 のサーバー名 チームプロジェクト ユーザー名 パスワード名古屋アジャイル & TFSUG | Team Foundation Server 2010 Hands on Labs 3
  5. 5. 2.3. Visual Studio の設定の確認 ハンズオン開始前に、Visual Studio の設定を確認します。Visual Studio を日常的に利用している場合には、普段設定されている内容を変更する可能性があります。その場合にはハンズオン終了後に設定をもとに戻すことを忘れないようにしてください。 ・Visual Studio 2010 を起動します。 ・[ツール]メニューの[オプション]を選択します。 ・[オプション]ダイアログで、左側のツリーから[ソース管理]を選択します。 ・[現在のソース管理プラグイン]が[Visual Studio Team Foundation Server]以外になっている場合には、 ドロップダウンから[Visual Studio Team Foundation Server]を選択します。 ・[オプション]ダイアログの左側のツリーにある[ソース管理]を展開します。 ・ [ソース管理] ツリーの子ツリーとして [プラグインの選択] 環境] Visual Studio Team Foundation Server] [ 、 、 [ となっていることを確認します。 ・[オプション]ダイアログの左側のツリーで[ソース管理]-[環境]を選択します。 ・[ソース管理の環境設定]が[Team Foundation]になっていること、 [チェックイン項目]の[保存]と[編 集]が両方とも[自動的にチェックアウトする]になっていること、すべてのチェックボックスにチェック がついていないことを確認します。 ・[オプション]ダイアログの左側のツリーで[ソース管理]-[Visual Studio Team Foundation Server] を選択します。 ・次の表のとおりにチェックボックスが設定されていることを確認します。 チェックボックス名 設定値 ファイルのダウンロードにプロキシサーバーを使用する チェックなし チェックアウト時に項目の最新バージョンを取得する チェックなし ソース管理エクスプローラーで削除された項目を表示する チェックなし 最後に使用したフォルダー上でソース管理エクスプローラーを起動 チェックあり ソリューションエクスプローラーの更新でソースの管理状態を更新 チェックあり [保留中の変更]ウィンドウからチェックインする前に知らせる チェックなし ・[オプション]ダイアログの[OK]をクリックします。 ・以上で設定は終了です。3. ハンズオンラボの概要 本ハンズオンでの開発対象物は四則演算を行うクラスライブラリを作成することです。これを今回、動作するソフトウェアのターゲットとして設定します。そのうえで、いかに示す4つのカテゴリの作業を行い、TFS 2010で実現するソフトウェア開発を体験します。  プランニング プロダクトバックログやスプリントバックログなどと呼ばれるソフトウェアへの要求事項(ユーザース トーリー)、ソフトウェア開発を行うためのタスクを作成しソフトウェア開発を始めるための準備を行 います。最終的に作成したリストを TFS 2010 に登録するための作業を行います。  開発~基本編~ ソフトウェアの実装、ユニットテストの作成、ソースコードの構成管理、継続的インテグレーションと いう4つのキーワードをもとに TFS 2010 を利用しながら動くソフトウェアの開発を体験します。  開発~応用編~ ソフトウェアの価値をより高めるために TFS 2010 に用意されている様々な機能を利用しながら動くソ フトウェアを開発する作業を体験します。4 Team Foundation Server 2010 Hands on Labs| 名古屋アジャイル & TFSUG
  6. 6.  テスト 様々なテストの自動化、回帰テストを行うための作業を行い、TFS 2010 によって行われる継続的デリ バリーの一角を体験します。 2時間コースの場合、開発~基本編~までを終了させることが全体の目標となります。半日コースの場合、テストまでを終了させることが全体の目標となります。4. プランニング このエクササイズではプロジェクトを開始するための準備を行います。なにかしらの製品を開発する際に初めに行うことはプロダクトバックログの作成とスプリントバックログの作成、すなわちユーザーストーリーの作成とタスクの作成です。Team Foundation Server 2010 には製品計画ブック、イテレーションバックログという Excelのファイルがあらかじめ用意されていますのでこのファイルを利用してこれらの作業を実施します。4.1. チームプロジェクトへの接続 TFS 2010 を利用した作業を行う際に、初めに行うべきことは Visual Studio 2010 からチームプロジェクトに接続を行うことです。ここでは、2.2 接続環境 で確認した情報を利用して、チームプロジェクトへの接続を行います。 ・Visual Studio 2010 を起動します。 ・[チーム]メニューから[Team Foundation Server への接続]を選択します。 ・[チームプロジェクトへ接続]ダイアログが表示されるので、 [サーバー]をクリックします。 ・[Team Foundation Server の追加および削除]ダイアログに切り替わるので、 [追加]をクリックします。 ・[Team Foundation Server の追加]ダイアログで[Team Foundation Server の名前または URL]に “TFS2010 のサーバー名”を入力し、 [OK]をクリックします。 ・このタイミングでユーザー名とパスワードの入力を求められたら、 “ユーザー名”および“パスワード”を 入力して、先に進めてください。 [Team Foundation Server の追加および削除]ダイアログに戻り、追加した TFS2010 が表示されているこ ・ とを確認したら[閉じる]をクリックします。 ・ [チームプロジェクトへ接続]ダイアログに戻り、 [Team Foundation Server の選択]ドロップダウンから 先ほど追加した TFS2010 サーバーを選択します。 ・同様のダイアログにて、 [チームプロジェクトコレクション]から DefaultCollection を選択し、 [チームプ ロジェクト]から接続対象の“チームプロジェクト名”を探し、チェックボックスにチェックを入れ、 [接 続]をクリックします。 ・初期状態では[ソリューションエクスプローラー]と同じ場所に[チームエクスプローラー]ウィンドウが 表示されるので、選択した TFS2010 やチームプロジェクトに接続されていることを確認します。 Visual Studio の画面はそのままの状態で次のステップに進んでください。4.2. ユーザーストーリーの作成 ソフトウェアの開発を始めるにあたり、まずはソフトウェアに求められる要求事項をまとめます。TFS 2010にはユーザーストーリーという形で登録を行うことができます。 《Visual Studio 2010 を操作してしまった場合》 ・Visual Studio の[表示]メニューから[チームエクスプローラー]を選択します。 ・[チームエクスプローラー]は通常は[ソリューションエクスプローラー]と同じ場所に表示されます。名古屋アジャイル & TFSUG | Team Foundation Server 2010 Hands on Labs 5
  7. 7. 《ここから本番》 ・[チームエクスプローラー]で[ “チームプロジェクト”]-[ドキュメント]-[共有ドキュメント]とツ リーをたどります。 ・「製品計画.xlsm」ファイルがあるので、ダブルクリックしてファイルを開きます。 ・セキュリティの警告が表示されますがそのまま[OK]をクリックします。 ・Excel 2010 が開くと、マクロを有効化するように促されるので、指示のとおりに行います。 ・またファイルは[読み取り専用サーバーブック]という状態になってしまっているため、 [ブックの編集] をクリックして、編集可能な状態とします。 ※Excel 2007 の場合は表現方法が異なる可能性があります。 ・Excel ファイルが編集可能となったらユーザーストーリーを登録するために必要な情報を入力していきます。 下記表の内容を打ち込んでいただいても、事前に提供している「製品計画リスト.xls」ファイルからコピー して転記しても構いません。 ID スタック ストーリー タイトル 状態 イテレーシ 区分パス 作業項目の 順位 ポイント ョンパス 種類 1 3 TFS 2010 のハンズ アクティブ ¥ ¥ ユーザース オンを実践する トーリー 1 5 四則演算を行う機能 アクティブ ¥イテレー ¥ ユーザース を提供する ション 1 トーリー ・ユーザーストーリーの作成が完了したら、リボンの[チーム]タブを選択し、 [発行]をクリックします。 ・発行が完了したら、Excel ファイルでは、ID 列に値が設定されていることを確認してください。 ・画面を Visual Studio に戻します。 ・[チームエクスプローラー]で[ “チームプロジェクト”]-[作業項目]-[チームクエリ]とツリーをた どります。 ・「製品計画」という作業項目クエリがあるのでこれをダブルクリックして実行します。 ・Visual Studio の中央エリアにクエリ結果が表示されるので、2 件のユーザーストーリーが表示されているこ とを確認してください。 ・2 件のユーザーストーリーが登録されていることが確認できたら作業は終了です。 Visual Studio の画面はそのままの状態で次のステップに進んでください。4.3. タスクの作成 次に要求事項(ユーザーストーリー)を実現するために必要な作業を洗い出してまとめます。TFS 2010 にはタスクという形で登録を行うことができます。 《Visual Studio 2010 を操作してしまった場合》 ・Visual Studio の[表示]メニューから[チームエクスプローラー]を選択します。 ・[チームエクスプローラー]は通常は[ソリューションエクスプローラー]と同じ場所に表示されます。 《ここから本番》 ・ [チームエクスプローラー]で[ “チームプロジェクト”]-[ドキュメント]-[共有ドキュメント]-[イ テレーション1]とツリーをたどります。 ・「イテレーションバックログ.xlsm」ファイルがあるので、ダブルクリックしてファイルを開きます。 ・セキュリティの警告が表示されますがそのまま[OK]をクリックします。 ・Excel 2010 が開くと、マクロを有効化するように促されるので、指示のとおりに行います。 ・またファイルは[読み取り専用サーバーブック]という状態になってしまっているため、 [ブックの編集] をクリックして、編集可能な状態とします。6 Team Foundation Server 2010 Hands on Labs| 名古屋アジャイル & TFSUG
  8. 8. ※Excel 2007 の場合は表現方法が異なる可能性があります。 ・開いた Excel ファイルを確認すると、すでに先ほど作成したユーザーストーリーが一つ表示されていること が確認できます。これから作成するタスクはこのユーザーストーリーを実現するための作業として登録を行 っていきます。 ・Excel ファイルが編集可能となったらタスクを登録するために必要な情報を入力していきます。新しくタス クを作成する際にはリボンの[チーム]タブから[子の追加]をクリックします。 ・作成するタスクは下記表の内容を打ち込んでいただいても、事前に提供している「イテレーションバックロ グリスト.xls」ファイルからコピーして転記しても構いません。 ID 作業項目 タイトル 2 状態 担当者 残存 アクティ イテレーシ 区分パス の種類 作業 ビティ ョンパス タスク Calculator ク ラ アクティブ “ユーザー 1 開発 ¥イテレー ¥ スを作成する 名” ション 1 タスク Calculator ク ラ アクティブ “ユーザー 1 テスト ¥イテレー ¥ スのユニットテ 名” ション 1 ストを作成する 作成された Excel ファイルは以下のような見た目になります。記入場所や記入内容を間違えてしまうと面倒 ですので、よく確認を行ってください。 ・タスクの作成が完了したら、リボンの[チーム]タブを選択し、 [発行]をクリックします。 ・発行が完了したら、Excel ファイルでは、タスクの ID 列に値が設定されていることを確認してください。 ・画面を Visual Studio に戻します。 ・[チームエクスプローラー]で[ “チームプロジェクト”]-[作業項目]-[チームクエリ]-[イテレーション 1]とツリーをたどります。 ・「イテレーションバックログ」という作業項目クエリがあるのでこれをダブルクリックして実行します。 ・Visual Studio の中央エリアにクエリ結果が表示されるので、計 3 件の作業項目(1 件のユーザーストーリー と 2 件のタスク)が表示されていることを確認してください。 ・タスクが登録されていることが確認できたら作業は終了です。 Visual Studio の画面はそのままの状態で次のステップに進んでください。5. 開発~基本編~ このエクササイズでは動作するソフトウェアの開発を行います。 テストファーストや TDD(Test DrivenDevelopment)などの考え方もありますが、まずは簡単にプロダクトコードを作成したのちにユニットテストの作成を行い、最後に TFS 2010 の自動ビルド機能を利用してビルドを行うところまでを行っていきます。名古屋アジャイル & TFSUG | Team Foundation Server 2010 Hands on Labs 7
  9. 9. 5.1. クラスライブラリの作成 ここでは、Calculator という四則演算を行う各メソッドを持った簡単なクラスを作成します。 ・Visual Studio 2010 を起動します。 ・[ファイル]メニューから[新規作成]-[プロジェクト]を選択します。 ・ [新しいプロジェクト]ダイアログでは、 [インストールされたテンプレート]から[Visual C#]を選択し、 中央の一覧から[クラス ライブラリ プロジェクト]を選択します。ダイアログ下部にある[名前][ソリ 、 ューション名]欄には「ClassLibrary1」と入力し、それ以外は初期値のまま[OK]をクリックします。 なお、プロジェクトを作成する場所は任意の場所で構いません。 項目 設定値 インストールされたテンプレート Visual C# プロジェクトの種類 クラス ライブラリ プロジェクト 名前 ClassLibrary1 場所 任意の場所 ソリューション名 ClassLibrary1 ソリューションのディレクトリを作成 チェックあり ソース管理に追加 チェックなし ・新しいプロジェクトが作成されたらすでに含まれている「Class1.cs」ファイルを削除します。 ・[ソリューションエクスプローラー]で「ClassLibrary1」プロジェクトを右クリックし、 [追加]-[クラ ス]を選択します。 [新しい項目の追加 – ClassLibrary1] ・ [インストールされたテンプレート] [Visual C# ダイアログでは、 から アイテム]を選択し、中央の一覧から [クラス]を選択します。ダイアログ下部にある[名前]欄には「Calculator」 と入力し、[追加]をクリックします。 項目 設定値 インストールされたテンプレート Visual C# アイテム アイテムの種類 クラス 名前 Calculator ・「Calculator」クラスに四則演算を行う各メソッドを実装します。 メソッド名 概要 public int Addition(int x, int y) x と y の和を計算します public int Subtraction(int x, int y) x と y の差を計算します public int Multiplication(int x, int y) x と y の積を計算します public int Division(int x, int y) x と y の徐を計算します 上記に則った「Calculator」クラスの実装例は下記のとおりです。 namespace ClassLibrary1 { public class Calculator { public Calculator() { } public int Addition(int x, int y) { return x + y;8 Team Foundation Server 2010 Hands on Labs| 名古屋アジャイル & TFSUG
  10. 10. } public int Subtraction(int x, int y) { return x - y; } public int Multiplication(int x, int y) { return x * y; } public int Division(int x, int y) { return x / y; } } } ・Visual Studio の[ビルド]メニューから[ソリューションのビルド]を選択し、作成したコードのビルド を行います。 ・ビルドに成功したら作業は終了です。 Visual Studio の画面はそのままの状態で次のステップに進んでください。5.2. ユニットテストの作成 ここでは、先ほど作成した Calculator クラスに対するユニットテストを作成します。Visual Studio 2010 にはユニットテストを簡単に作成するための機能が用意されているのでこれを活用して作成していきます。 《Visual Studio 2010 を操作してしまった場合》 ・[ソリューションエクスプローラー]で先ほど作成した「Calculator.cs」をダブルクリックします。 ・コードエディタに「Calculator.cs」クラスの内容が表示されます。 《ここから本番》 ・コードエディタの Calculator クラスでクラスの内側かつメソッドの外側の任意の部分で右クリックし、 [単 体テストの作成]を選択します。名古屋アジャイル & TFSUG | Team Foundation Server 2010 Hands on Labs 9
  11. 11. ・[単体テストの作成]ダイアログが表示されるので、Calculator クラスのコンストラクタにあるチェックを 外し、それ以外は初期値のままで[OK]をクリックします。 ・[新しいテストプロジェクト]ダイアログが表示されるので、初期値のままで[作成]をクリックします。 ・ClassLibrary1 ソリューションに新しく TestProject1 プロジェクトが追加され、このプロジェクト内には、 「CalculatorTest.cs」ファイルが追加されます。 ・コードエディタに表示されている「CalculatorTest.cs」ファイルには、Calculator クラスの各メソッドをテ ストするためのテストコードのひな形が登録されています。例えば、AdditionTest というメソッドを見つけ ると以下のように生成されていることを確認することができます。 /// <summary> ///Addition のテスト ///</summary> [TestMethod()] public void AdditionTest() { Calculator target = new Calculator(); // TODO: 適切な値に初期化してください int x = 0; // TODO: 適切な値に初期化してください int y = 0; // TODO: 適切な値に初期化してください int expected = 0; // TODO: 適切な値に初期化してください int actual; actual = target.Addition(x, y); Assert.AreEqual(expected, actual); Assert.Inconclusive("このテストメソッドの正確性を確認します。"); } ・上記に示した AdditionTest メソッドの場合は下記に示すように書き換えることでユニットテストコードを完 成させます。同様に作業を行い、SubtractionTest, MultiplicationTest, DevisionTest メソッドについてもユ ニットテストコードの作成を完了させてください。 /// <summary> ///Addition のテスト ///</summary> [TestMethod()] public void AdditionTest() { Calculator target = new Calculator(); int x = 5; int y = 6; int expected = 11; int actual; actual = target.Addition(x, y); Assert.AreEqual(expected, actual); //Assert.Inconclusive("このテストメソッドの正確性を確認します。"); } ・4つのユニットテストコードの作成が完了したら、CalculatorTest クラスの内側、各メソッドの外側で右ク リックし、[テストの実行]を選択します。 ・4つのユニットテストが実行され、[テスト結果]ウィンドウにテストの実行結果(正しく作成されていれ ばすべて成功)が表示されます。 ・4つのユニットテストがすべて成功するようになったら作業は終了です。10 Team Foundation Server 2010 Hands on Labs| 名古屋アジャイル & TFSUG
  12. 12. Visual Studio の画面はそのままの状態で次のステップに進んでください。5.3. リポジトリへの登録 ここではいよいよ、先ほどまでに作成してきた ClassLibrary1 ソリューションを TFS 2010 のソース管理に登録します。 ・[ソリューションエクスプローラー]で ClassLibrary1 ソリューションを右クリックし、 [ソリューションを ソース管理に追加]を選択します。 ・[ソリューション ClassLibrary1 をソース管理に追加]ダイアログが表示されるので、適切なチームプロジ ェクトを選択し、それ以外は初期値のままで[OK]をクリックします。 なお、適切なチームプロジェクトとは、2.2 接続環境で確認したチームプロジェクト名のことを指します。 ・一瞬表示されるプログレスバーの表示が消えた後で、 [ソリューションエクスプローラー]を確認します。 各ファイルの左側にソース管理に新規に追加されたファイルであることを示す+マークが表示されている ことを確認することができます。 ・もう一度、 [ソリューションエクスプローラー]で ClassLibrary1 ソリューションを右クリックし、 [チェッ クイン]を選択します。 ・[チェックイン]ダイアログが表示されるので、 [コメント]欄に<Calculator クラスとユニットテストの作 成>など任意のコメントを入力します。 ・同様のダイアログで、左側のリストから[作業項目]タブを選択します。 ・一覧に 2 つの作業項目が表示されるので、両方にチェックを入れ、 [チェックイン動作]はどちらも[関連 付け]に設定し[チェックイン]をクリックします。 ・[ソリューションエクスプローラー]を確認すると、各ファイルの左側にはチェックイン済みであることを 示す鍵マークが表示されていることを確認することができます。 Visual Studio の画面はそのままの状態で次のステップに進んでください。5.4. ビルド定義の設定 TFS 2010 にソースコードを登録することができたので、TFS 2010 を利用して継続的インテグレーションができるように TFS 2010 の自動ビルド機能を設定します。 ・Visual Studio の[表示]メニューから[チームエクスプローラー]を選択します。 ・[チームエクスプローラー]は通常は[ソリューションエクスプローラー]と同じ場所に表示されます。 ・[チームエクスプローラー]で[ “チームプロジェクト” ]-[ビルド]とツリーをたどります。 ・[ビルド]を右クリックして、 [ビルド定義の新規作成]を選択します。 ・ビルド定義エディタが Visual Studio 2010 の中央エリアに表示されます。ビルド定義の編集は左のリストを 上から順番に設定していきます。 ・[全般]タブでは[ビルド定義名]と[説明]のテキストを編集します。通常はわかりやすい名前を設定し ますが、今回は初期値のままで構いません。 ・[トリガー]タブでは[次のいずれかのチェックイントリガーを選択します]から[継続的インテグレーシ ョン]を選択します。 ・[ワークスペース]タブの内容は初期値のままとします。 ・[ビルドの規定値]タブでは、 [ビルドコントローラー]として TFS2010 のサーバー名が設定されているこ とを確認し、 [ビルド出力を次の格納フォルダーにコピーします]には「¥¥“TFS 2010 のサーバー名” ¥BuildResults」と設定します。 ※例えば「¥¥TFS2010¥BuildResults」のように入力します。 ・[プロセス]タブの内容は初期値のままとします。 ・[アイテム保持ポリシー]タブの内容は初期値のままとします。 ・編集が終了したら Visual Studio 2010 の[ファイル]メニューの[ClassLibrary1 の保存]を選択するなど名古屋アジャイル & TFSUG | Team Foundation Server 2010 Hands on Labs 11
  13. 13. して、ビルド定義の内容を保存します。 ・以上で作業は終了です。 Visual Studio の画面はそのままの状態で次のステップに進んでください。5.5. ソースファイルの編集とチェックイン 継続的インテグレーションを行うための環境が整ったので、実際にソースコードの編集とチェックインを行い、ビルドが実行されるさまを確認します。 [ソリューションエクスプローラー]で ClassLibrary1 プロジェクトの「Calculator.cs」ファイルをダブル ・ クリックしてコードエディタに表示します。 ・Calculator クラスの Addition メソッドを探し、下記に示すように編集します(敢えてテストが失敗するよ うな編集を行っています) 。 public int Addition(int x, int y) { //return x + y; return x - y; } ・編集が終了したらファイルを保存し、 [ソリューションエクスプローラー]で ClassLibrary1 プロジェクト の「Calculator.cs」ファイルを右クリックし、 [チェックイン]を選択します。 ・ [チェックイン]ダイアログが表示されるので、 [コメント]欄に<Addition メソッドの編集>など任意のコ メントを入力します。 ・同様のダイアログで、左側のリストから[作業項目]タブを選択します。 ・一覧に 2 つの作業項目が表示されるので、 [Calculator クラスを作成する]のタスクにチェックを入れ、 [チ ェックイン動作]は[関連付け]に設定し[チェックイン]をクリックします。 ・[ソリューションエクスプローラー]を確認すると、 「Calculator.cs」ファイルの左側にはチェックイン済み であることを示す鍵マークが表示されていることを確認することができます。 ・以上で作業は終了です。 Visual Studio の画面はそのままの状態で次のステップに進んでください。5.6. チームビルドの結果確認 チームプロジェクトにビルドトリガーとして継続的インテグレーションが設定されたビルド定義が存在していると、先ほどのチェックイン操作によって自動的にビルドが開始されます。ここではビルド結果を確認するところまで行っていきます。 ・[チームエクスプローラー]で[ “チームプロジェクト”]-[ビルド]とツリーをたどります。 ・ビルド定義の「ClassLibrary1」をダブルクリックし、[ビルドエクスプローラー]を表示します。 ・[ビルドエクスプローラー]の[キューに挿入済み]タブに新しく 1 件のビルド処理が表示されていること を確認します。 ・ビルドには多少時間がかかるため、終了まで待ちます。 ・ビルドが完了したら、 [ビルドエクスプローラー]に表示されている ClassLibrary1 をダブルクリックして 詳細を表示します。 ・ビルドの詳細内容が表示されるので、 [概要]部分を確認すると、 回のテストの実行が完了-平均成功率 [1 75% (総合成功率 75%)]と表示されていることを確認することができます。 その 1 行下に表示されている[テストの結果の表示]というリンクをクリックすることで、どのテストがど のような理由で失敗しているかを確認することができます。12 Team Foundation Server 2010 Hands on Labs| 名古屋アジャイル & TFSUG
  14. 14. ・ビルドの詳細内容の確認を続けます。 [概要]のさらに下には、 [関連付けられた変更セット]や[関連付け られた作業項目]という項目があります。これらには前回の自動ビルドから今回の自動ビルドまでにチェッ クインされた変更セットやチェックインの際に関連付けられた作業項目が一覧として表示されています。 ・ビルドの詳細内容の確認は以上で終了です。 ・最後に、Calculator クラスの Addition メソッドを再度編集し、正しくテストが通る状態にしたうえでチェ ックインを行い、ビルド結果としてテストがすべて成功したことを示すことを確認するところまで作業を行 ってください。 ・以上で、チェックインごとに自動ビルドを行う継続的インテグレーションを TFS 2010 を利用して行うこと ができるようになりました。 Visual Studio の画面はそのままの状態で次のステップに進んでください。5.7. 進捗レポートの確認 ここまで続けてきた作業によって TFS 2010 には各種の情報が蓄積されています。ここでは TFS 2010 に蓄積された各種のデータをレポートいう形で確認していきます。 ※この作業は TFS 2010 を基本構成で構築している環境では一部確認することができない作業があります。 ・Visual Studio の[表示]メニューから[チームエクスプローラー]を選択します。 ・[チームエクスプローラー]は通常は[ソリューションエクスプローラー]と同じ場所に表示されます。 ・[チームエクスプローラー]で[ “チームプロジェクト” ]-[レポート]-[プロジェクト管理]とツリー をたどります。 ・[ストーリーの概要]をダブルクリックして、レポートの内容を表示します。 ・このレポートではユーザーストーリーごとに実績や残存時間などが表示されることを確認することができま す。 ・ほかにも、 [レポート]-[ビルド]-[ビルドの概要]レポートを確認してみたり、 [レポート]-[ダッ シュボード]-[バーンダウン]レポートを確認してみたりしてみてください。 ・今の段階ではあまり役に立つデータとはなっていませんが、もう少しデータが蓄積されるとより意味のある レポートを確認することができるようになります。 ・また、 同様のレポートは Internet Explorer を起動して、 URL に “TFS 2010 サーバー名” 「http://< >/Reports」 と入力した後で、 「DefaultCollection」-[“チームプロジェクト名” ]とリンクとたどっていくことでも確 認することができます。 ・さらに、一部の同様のレポートやまったく異なるデータを表示するレポートを Excel のピボットテーブル& ピボットグラフを利用して確認することもできます。 ・ [チームエクスプローラー]で[ “チームプロジェクト”]-[ドキュメント]-[Excel レポート]とツリー をたどります。 ・[バーンダウン.xlsx]をダブルクリックして、レポートの内容を表示します。 ・セキュリティの警告が表示されますがそのまま[OK]をクリックします。 ・多少見た目が異なる部分はありますが、バーンダウンレポートを表示したときとほぼ同様の内容を確認する ことができます。 ・ほかにもさまざまな種類がありますので、いろいろ表示して内容を確認してみてください。5.8. ここまでのまとめ ソフトウェアを開発する際に一般的に必要になる要求事項やそれをソフトウェアにするための作業のまとめを行い、ソフトウェアコードの実装、テストの作成、ビルドの実施と作業を行い、それら作業の状況を確認するという一連の作業を行ってきました。おおざっぱではありますが、これらはアジャイル開発における1イテレーションを実施したのとほぼ同様の作業でした。 この作業の中で、TFS 2010 に用意されている基本的機能であるユーザーストーリーやタスクなどの作業項目名古屋アジャイル & TFSUG | Team Foundation Server 2010 Hands on Labs 13
  15. 15. 管理、ソースコード管理、自動ビルド、レポートの 4 つの機能を利用してきました。TFS 2010 がプロジェクトを進行させるうえでどのようにその作業を支援し、必要な環境を提供してくれるかを体感することができたでしょうか。 次のエクササイズではもう少し TFS 2010 の便利な機能にフォーカスしてさまざまな設定や作業を実施していきます。6. 開発~応用編~ このエクササイズでは TFS 2010 が持つ便利な機能を利用して、より素早くより高品質はソフトウェアを開発していくための一端を体験します。6.1. ビルド通知を利用するための準備 開発~応用編~の作業を開始するために必要な準備作業を行います。 ・デスクトップで [スタート] メニューから[すべてのプログラム] [Microsoft Visual Studio 2010] [Team - - Foundation Server Tools]-[ビルド通知]を選択します。 ・デスクトップの[通知領域]に[Team Foundation ビルド通知]というアイコンが表示されます。 ・通知領域にある[Team Foundation ビルド通知]をクリックすると[ビルドの状況]ダイアログが表示さ れます。すでに[Team Foundation ビルド通知]が通知領域に存在していた場合には、スタートメニュー からビルド通知を選択した段階で[ビルドの状況]ダイアログが表示されます。 ・[ビルドの状況]ダイアログで[閉じる]をクリックして画面を閉じておきます。 ・以上で作業は終了です。6.2. チェックインポリシーの設定 5.6 チームビルドの結果確認 の作業を行った際、前回のビルドから今回のビルドまでにチェックインされた変更セットとともに関連する作業項目についても確認することができました。これより、どのビルドにどの作業の結果が含まれているのかを簡単に確認することができますが、チェックイン時の作業項目への関連付けは任意となっているため、必ずしも必要なデータが確認できるとは限りません。 そこで、チェックイン時の作業項目への関連付けを強制させるチェックインポリシーという機能を設定します。 ・Visual Studio の[表示]メニューから[チームエクスプローラー]を選択します。 ・[チームエクスプローラー]は通常は[ソリューションエクスプローラー]と同じ場所に表示されます。 ・[チームエクスプローラー]で[ “チームプロジェクト”]を右クリックし、[チームプロジェクトの設定]- [ソース管理]を選択します。 ・ [ソース管理の設定]ダイアログが表示されるので、 [チェックインポリシー]タブに切り替え、[追加]を クリックします。 ・[チェックインポリシーの追加]ダイアログが表示されるので、 [作業項目]を選択して[OK]をクリック します。 ・[ソース管理の設定]ダイアログに戻り、 [ポリシーの種類]に[作業項目]が追加されていることを確認し て、[OK]をクリックします。 ・続いて、設定したポリシーがどのように動作するかを確認します。 ・[ソリューションエクスプローラー]で「Calculator.cs」ファイルをダブルクリックしてコードエディタに 表示します。 ・「Calculator.cs」ファイルに空行を追加するなど適当な編集を行い、 [チェックイン]を行います。 ・[チェックイン]ダイアログが表示されたら、そのまま[チェックイン]をクリックしてみます。 ・すると[ポリシーエラー]のダイアログが表示され、チェックインを行うことができませんでした。 [ポリ シーエラー]ダイアログは[キャンセル]をクリックして閉じます。14 Team Foundation Server 2010 Hands on Labs| 名古屋アジャイル & TFSUG
  16. 16. ・ [チェックイン]ダイアログに戻ると、ポリシーの警告が表示されていて このチェックインを、1 つ以上の 作業項目に関連付けなければなりません。 と表示されています。 ・5.5 ソースファイルの編集とチェックインで行ったように、作業項目への関連付けを行ったうえで再度、 [チ ェックイン]をクリックします。今度は今までどおりにチェックインを行うことができます。 Visual Studio の画面はそのままの状態で次のステップに進んでください。6.3. ビルド定義の変更 基本編では、TFS 2010 を使って継続的インテグレーションを行いましたが、これには 1 つ問題点があります。それは、ソース管理にチェックインした後でビルドを実施するため、もしビルドやテストに失敗してしまうような場合でもソース管理上にはそのソースコードが存在してしまうということです。 そこで、ソース管理にチェックインを行わずに継続的インテグレーションを行うゲートチェックインビルドの設定を行います。 ・Visual Studio の[表示]メニューから[チームエクスプローラー]を選択します。 ・[チームエクスプローラー]は通常は[ソリューションエクスプローラー]と同じ場所に表示されます。 ・[チームエクスプローラー]で[ “チームプロジェクト” ]-[ビルド]とツリーをたどります。 ・ビルド定義の[ClassLibrary1]を右クリックして、 [ビルド定義の編集]を選択します。 ・ビルド定義エディタが Visual Studio 2010 の中央エリアに表示されます。 ・[トリガー]タブを選択し、 [次のいずれかのチェックイントリガーを選択します]から[ゲートチェックイ ン]を選択します。 ・編集が終了したら Visual Studio 2010 の[ファイル]メニューの[ClassLibrary1 の保存]を選択するなど して、ビルド定義の内容を保存します。 ・以上で作業は終了です。 Visual Studio の画面はそのままの状態で次のステップに進んでください。6.4. テストに失敗するソースファイルの編集とチェックイン ビルドトリガーにゲートチェックインが設定された自動ビルドがあるとどのような挙動を示すのかを実際にソースコードを編集、チェックインすることで確認していきます。 ・[ソリューションエクスプローラー]で ClassLibrary1 プロジェクトの「Calculator.cs」ファイルをダブル クリックしてコードエディタに表示します。 ・Calculator クラスの Addition メソッドを探し、下記に示すように編集します(敢えてテストが失敗するよ うな編集を行っています) 。 public int Addition(int x, int y) { //return x + y; return x - y; } ・編集が終了したらファイルを保存し、 [ソリューションエクスプローラー]で ClassLibrary1 プロジェクト の「Calculator.cs」ファイルを右クリックし、 [チェックイン]を選択します。 ・ [チェックイン]ダイアログが表示されるので、 [コメント]欄に<Addition メソッドの編集>など任意のコ メントを入力します。 ・同様のダイアログで、左側のリストから[作業項目]タブを選択します。 ・一覧に 2 つの作業項目が表示されるので、 [Calculator クラスを作成する]のタスクにチェックを入れ、 [チ ェックイン動作]は[関連付け]に設定し[チェックイン]をクリックします。名古屋アジャイル & TFSUG | Team Foundation Server 2010 Hands on Labs 15
  17. 17. ・[ゲートチェックイン]ダイアログが表示され、ビルドを行うように促すコメントが示されています。ここ で[ビルドの変更]をクリックします。 ・Visual Studio 2010 に[ビルドエクスプローラー]の画面が表示されますが、これはそのまま閉じてしまっ て構いません。 ・[ソリューションエクスプローラー]を開き、ClassLibrary1 プロジェクトの「Calculator.cs」ファイルを 右クリックし、 [保留中の変更を元に戻す]を選択します。 ・「Calculator.cs」ファイルがチェックイン状態になっていることを確認しておきます。 ・そのまましばらく待ちます。 ・しばらくすると、デスクトップ上に[ゲートチェックイン]ダイアログが表示され、ゲートチェックインが 拒否されました と記述されている内容を確認することができます。 [ゲートチェックイン]ダイアログでビルドのリンクをクリックすると Team Web Access の画面でビルド結 ・ 果の詳細を確認することができます。これは Visual Studio 2010 の[ビルドエクスプローラー]から対象の ビルド結果の詳細を表示したときと同様の内容が表示されています。 ・再度、 [ゲートチェックイン]ダイアログに戻り、 [アンシェルブ]をクリックします。 ・Visual Studio 2010 で[ソリューションエクスプローラー]を開くと、ClassLibrary1 プロジェクトの 「Calculator.cs」ファイルがチェックアウトされた状態に変更され、さきほどチェックイン操作を行った時 と同様のないようになっていることを確認します。 ・以上で作業は終了です。 Visual Studio の画面はそのままの状態で次のステップに進んでください。6.5. テストに成功するソースファイルの編集とチェックイン 次はテストまで含めて自動ビルドに成功するように編集を行った場合の挙動を確認しておきます。 ・[ソリューションエクスプローラー]で ClassLibrary1 プロジェクトの「Calculator.cs」ファイルをダブル クリックしてコードエディタに表示します。 ・Calculator クラスの Addition メソッドを探し、下記に示すように編集します。 public int Addition(int x, int y) { return x + y; } ・編集が終了したらファイルを保存し、 [ソリューションエクスプローラー]で ClassLibrary1 プロジェクト の「Calculator.cs」ファイルを右クリックし、 [チェックイン]を選択します。 ・ [チェックイン]ダイアログが表示されるので、 [コメント]欄に<Addition メソッドの編集>など任意のコ メントを入力します。 ・同様のダイアログで、左側のリストから[作業項目]タブを選択します。 ・一覧に 2 つの作業項目が表示されるので、 [Calculator クラスを作成する]のタスクにチェックを入れ、 [チ ェックイン動作]は[関連付け]に設定し[チェックイン]をクリックします。 ・[ゲートチェックイン]ダイアログが表示され、ビルドを行うように促すコメントが示されています。ここ で[ビルドの変更]をクリックします。 ・Visual Studio 2010 に[ビルドエクスプローラー]の画面が表示されますが、これはそのまま閉じてしまっ て構いません。 ・[ソリューションエクスプローラー]を開き、ClassLibrary1 プロジェクトの「Calculator.cs」ファイルを 右クリックし、 [保留中の変更を元に戻す]を選択します。 ・「Calculator.cs」ファイルがチェックイン状態になっていることを確認しておきます。 ・そのまましばらく待ちます。16 Team Foundation Server 2010 Hands on Labs| 名古屋アジャイル & TFSUG
  18. 18. ・しばらくすると、デスクトップ上に[ゲートチェックイン]ダイアログが表示され、ゲートチェックインが コミットされました と記述されている内容を確認することができます。 ・[ゲートチェックイン]ダイアログで[調整]をクリックします。特に何もしていないと[調整する変更は ありません]というダイアログが表示されるので[OK]をクリックし、[ゲートチェックイン]ダイアログ に戻ったら、[無視]をクリックしてビルド結果の確認を終了します。 ・Visual Studio 2010 で[ソリューションエクスプローラー]を開くと、今度は ClassLibrary1 プロジェクト の「Calculator.cs」ファイルがチェックインされた状態のままとなっていることを確認します。 ・以上で作業は終了です。6.6. ここまでのまとめ 非常にシンプルな作業を通して、チェックインポリシーとゲートチェックインを利用したチーム開発の一端を体験してきました。チェックイン時に作業項目への関連付けを必須化することで常にビルド結果から関連する作業を確認することができたり、ビルドが成功したものだけがソース管理リポジトリにコミットされることで常にクリーンな状態を維持することができたり、と守ってほしいことを守ってもらったうえでテンポよく開発を進めていくことができる環境が TFS 2010 には用意されていることを確認できたでしょうか。7. まとめ このハンズオンでは TFS 2010 を使って要求事項(ユーザーストーリー)や作業内容(タスク)を管理し、ソース管理や継続的インテグレーションやゲートチェックインなどの自動ビルドの助けを得ながらソフトウェアの開発を進めていく様を体験していただきました。 TFS 2010 にはアジャイル開発を行う上では必須となる機能がほとんどすべて盛り込まれていることを少しでも感じていただけたら幸いです。また、ウォーターフォール開発などのアジャイル開発以外の開発においても非常に有益なものであることは間違いありません。 TFS 2010 にはここでは紹介しきれなかった便利な機能がまだまだたくさん搭載されていますので、今回取り上げた機能の利用を皮切りにぜひご自身の状況に合わせて活用してみてください。A) 付録A.1. レポートの即時更新 通常は、1 時間おきにレポートデータの更新処理が行われますが、手動実行することでレポートデータの即時更新を行うことができます。 TFS 2010 がインストールされているサーバーで Internet Explorer を開き、以下のアドレスを表示します。 http://localhost:8080/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx アドレスが表示されたら「ProcessWarehouse」を選択します。画面が表示されたら[collectionName]パラメーターにレポートデータの更新を行いたいチームプロジェクトコレクション名を入力し、 [起動]をクリックします。 次に、上記アドレスに戻り、ProcessAnalysisDatabase」 「 を選択します。画面が表示されたら[processingType]パラメーターに Full と入力し、[起動]をクリックします。名古屋アジャイル & TFSUG | Team Foundation Server 2010 Hands on Labs 17

×