Team Founfation Server / Visual Studio Online ハンズオン トレーニング手順書
-
Upload
masaki-takeda -
Category
Software
-
view
2.165 -
download
5
Transcript of Team Founfation Server / Visual Studio Online ハンズオン トレーニング手順書
セミナー&ハンズオン ラボ シリーズ
Visual Studio ハンズオン トレーニング
Team Foundation Server/
Visual Studio Online 編
日本マイクロソフト株式会社
デベロッパー エバンジェリズム 統括本部
Last updated: 2015/10/5
もくじ概要............................................................................................................演習内容.......................................................................................................ハンズオン ラボの演習環境について......................................................................演習 1 : Visual Studio Online へのサインアップ...................................................
タスク 1 : Visual Studio Online アカウントの作成................................................................................演習 2 : チームプロジェクトの作成.......................................................................
タスク 1 : Visual Studio を開く........................................................................................................... タスク 2 : リポジトリをダウンロード.................................................................................................11
演習 3 : ソリューションの作成とソース管理へ追加...................................................13 タスク 1 : ソリューションのダウンロード...........................................................................................13 タスク 2 : テストプロジェクトの作成.................................................................................................17 タスク 3 : ソリューションをソース管理に追加.....................................................................................21
演習 4 : ユニットテストの作成..........................................................................23 タスク 1 : ユニットテストの作成........................................................................................................23
演習 5 : Visual Studio Online でのチケット管理.................................................28 タスク 1 : Visual Studio Online におけるチケットの流れを理解する....................................................28 タスク 2 : Visual Studio から Visual Studio Online のチケットを操作する...........................................31 タスク 3 : Excel から Visual Studio Online のチケットを操作する.......................................................34
演習 6 : Visual Studio Online でのチケット管理に紐づいた変更...............................39 タスク 1 : Visual Studio Online におけるチケットの流れを理解する....................................................39
演習 7 : 継続的インテグレーションによるエラーの検知.............................................49 タスク 1 : 継続的インテグレーション用ビルド定義を作成する..............................................................49 タスク 2 : 作成したテストの実行確認.................................................................................................59 タスク 3 : 継続的インテグレーションでのエラー検知...........................................................................62
演習 8 : ゲートチェックインによるエラーの検知.....................................................75 タスク 1 : 継続的インテグレーション用ビルド定義の無効化.................................................................75 タスク 2 : ゲートチェックイン用ビルド定義の作成..............................................................................78 タスク 3 : ゲートチェックインによるエラー検知.................................................................................84
演習 9 : 付録 新しいビルドシステムで継続的インテグレーションを実施する...................100 タスク 1 : 継続的インテグレーション用ビルド定義を作成する............................................................100 タスク 2 : ビルド定義を編集する......................................................................................................105 タスク 3 : ビルドを実行する............................................................................................................112
まとめ......................................................................................................114参考リソース..............................................................................................114
2
概要
Team Foundation Server/Visual Studio Online を使用すると、コードのホスト、プロジェクトの計画と追跡、
チーム メンバーとのコラボレーションができ、より良いソフトウェアをリリースできます。Visual Studio Online が実現するクラウド ベース ALM ソリューションでは、ソースコードの管理から、課題のトラッキング、ロード テス
ト、自動ビルドまで、ソフトウェア開発のすべての工程で必要なソリューションが提供されます。主要な各 IDE と統
合されており、最大の利点はほぼどこからでもアクセスできることです。
このハンズオントレーニングでは、Visual Studio Online と Visual Studio を使った開発方法の例を学ぶことができ
ます。
演習内容
このハンズオン ラボでは以下のことを学習します。
複数人で開発している Windows アプリケーションを Visual Studio Online で管理する
Visual Studio Online のタスク管理や自動テスト、継続的インテグレーションを利用する
このハンズオン ラボの所要時間:約 60 分~90 分
3
ハンズオン ラボの演習環境について
本ハンズオン ラボの演習環境には Visual Studio 2015 Enterprise がインストールされています。ご自宅などの環境
で演習を進める場合は Visual Studio 2015 Enterprise / Pro 評価版などをインストールしてください。
Visual Studio 2015http://www.visualstudio.com/downloads/download-visual-studio-vs
4
演習 1 : Visual Studio Online へのサインアップ
タスク 1 :Visual Studio Online アカウントの作成このタスクでは、Visual Studio Online のサインアップおよび最初のチームプロジェクト作成手順を解説します。本
タスクはサインアップ時のみ必要になります。
1. ブラウザーで https://www.visualstudio.com/ja-jp にアクセスし、[サインイン]をクリックします。
5
2. Visual Studio Online のサインイン画面が表示されます。Microsoft アカウントおよびパスワードを入力して
[サインイン]をクリックします。
3. Visual Studio Online のアカウントを作成します。アカウントの URL を入力し[アカウントの作成]をクリック
します。アカウントの URL は後で変更ができませんので注意してください。
6
4. 最初のチームプロジェクトを作成します。[Project name]にチームプロジェクト名 VSOHOL を入力し、
[Process template]から使用するプロセステンプレートを選択します。ここでは [Agile]を選択します。最
後にバージョン管理ツールで[Team Foundation Version Control]を選択します。入力および選択したら
[Create project]をクリックします。
5. プロジェクトの作成が完了すると、下記画面が表示されますので、画面右上の [✕]をクリックします。チームプ
ロジェクトのポータル画面が表示されます。
7
演習 2 : チームプロジェクトの作成タスク 1 :Visual Studio を開く
このタスクでは Visual Studio を開き、ソース管理のリポジトリをダウンロードします。
1. Visual Studio Online のポータルページから[Open Visual Studio]をクリックします。
8
2. 確認のダイアログが表示されるので[許可]をクリックします。
3. Visual Studio が開きます。
9
タスク 2 :リポジトリをダウンロード1. Visual Studio のチームエクスプローラーで[次のワークスペースのマッピングを構成し]をクリックします。
2. ワークスペースをダウンロードするパスを指定し[マップを取得]をクリックします。パスは C:\VSOHOL とします。
3. ソース管理のリポジトリからファイルがダウンロードされました。
10
メモ:ワークスペースは Visual Studio Online 上のリポジトリをコンピューター上のフォルダーにダウンロードする場所です。
11
演習 3 : ソリューションの作成とソース管理へ追加
Visual Studio でソリューションを作成し、Visual Studio Online のソース管理リポジトリに登録します。
ソース管理に登録することで、ファイルの変更履歴を管理できます。今回は単体テストプロジェクトも同時に
作成します。単体テストプロジェクトをソース管理に登録することで、Visual Studio Online 上での自動ビル
ドに加えて自動テストが可能になります。また、チェックインビルドの機能とあわせることで、すべてのテ
ストに成功したコードのみがソース管理に追加されるようになります。
タスク 1 :ソリューションのダウンロード1. http://1drv.ms/1LmiJuB か ら SampleWinForm.zip を ダ ウ ン ロ ー ド・展開 し 、 作 成 さ れ た
SampleWinForm フォルダーを C:\VSOHOL にコピーします。そして、メニューから[ファイル]-[開く]-[プロジェクト]を選択します。
12
2. C:\VSOHOL\SampleWinForm にある SampleWinForm のソリューションファイルを選択して [開く]をクリックします。
3. セキュリティ警告が表示されますが、[OK]をクリックします。
13
4. ソリューションおよび Windows フォーム アプリケーションプロジェクトが表示されます。
なお、デバッグ実行すると以下の計算アプリケーションが表示されます。
14
5. ソリューションエクスプローラーをクリックし、さらにソリューションを右クリックします。ポップアップ
メニューから[ソリューションをソース管理に追加]をクリックします。いくつかポップアップウインドウが表
示されますが、[OK]をクリックします。
15
タスク 2 :テストプロジェクトの作成1. ソリューションを右クリックし、ポップアップメニューから[追加]-[新しいプロジェクト]をクリックします。
16
2. [ イ ン ス ト ー ル済み ]- [Visual C#]- [ テ ス ト ] か ら [単体テ ス ト プ ロ ジ ェ ク ト ] を 選 択 し 名前を
SampleWinFormTest と入力して[OK]をクリックします。.NET Framework のバージョンが、「.NET
Framework 4.5.1」になっていない場合は変更してください。
3. 単体テストプロジェクトが追加されました。
17
4. 続いて、単体テストプロジェクトに Windows フォーム アプリケーションプロジェクトのクラスをテストでき
るようにするために参照を追加します。単体テストプロジェクトの[参照設定]を右クリックしてポップアップメ
ニューから[参照の追加]をクリックします。
18
5. [ソリューション]-[プロジェクト]から[SampleWinForm]にチェックをして[OK]をクリックします。
6. 単体テストプロジェクトの参照設定に[SampleWinForm]が追加されれば完了です。
19
20
タスク 3 :ソリューションをソース管理に追加作成したソリューションおよびプロジェクトをソース管理に追加します。
1. チームエクスプローラーのホームを開き[保留中の変更]をクリックします。
21
2. [含まれる変更]にはソース管理に追加されるファイルの一覧が表示されます。[コメント]に追加、変更理由に
新規ソリューションの作成と入力して[チェックイン]をクリックします。
3. チェックインの確認画面が表示されますので[はい]をクリックします。今後、チェックインボタンをクリック
したらそのままチェックインを行いたい場合には[今後このメッセージを表示しない]にチェックを入れます。
22
演習 4 : ユニットテストの作成
タスク 1 :ユニットテストの作成このタスクでは、最初に作成したテストプロジェクトの中にある UnitTest1.cs を、テスト対象に合わせた
名称に変更します。今回は Calculator クラスに対するテストクラスなので、CalculatorTest.cs に変更しま
す。
1. 左ペインの[ソリューション エクスプローラー]タブをクリック後、 [UnitTest1.cs]を右クリックし、[名前の変更]を選択します。
23
2. ファイル名が編集可能状態になるので、CalculatorTest.cs に変更後、Enter キーを押します。
名称変更の確認画面が表示されるので、[はい]をクリックします。
24
3. 以 下 の ように テ ス ト メ ソ ッ ド の 内 部 ロ ジ ッ ク を 作 成 し ま す 。 http://1drv.ms/1MH1QhF の
CaluculatorTest.txt の内容をコピー&ぺーストします。
4. 作成したテストが正常終了することを確認します。メニューから [テスト]-[実行]-[すべてのテスト]を選択
すると、今作成したテストが実行されます。
25
メモ:テストメソッド名はテスト内容が簡単にわかるようにしておくと、後でテスト結果を参照するときにどんな処理でエラーになったかがわかりやすくなります。
テスト結果は[テスト エクスプローラー]に表示されます。初期状態では、テスト エクスプローラーは左ペイ
ンに格納された状態ですので、左端にある縦書きの[テスト エクスプローラー]をクリックします。
全てのテストが正常であれば、[成功テスト]のところに、作成した4件のテスト結果が緑で表示されます。
5. 一旦ソースコードをチェックインします。左ペインの[チーム エクスプローラー]をクリックし、家のマーク
の
26
メモ:左ペインに「テスト エクスプローラー」がない場合は、メニューから[テスト]-[ウィンドウ]-[テスト エクスプローラー]を選択すると表示されます。
ホームアイコンをクリック後、[保留中の変更]を選択します。
6. [コメント]欄に ユニットテスト作成 と入力し、[チェックイン]をクリックします。
チェックインが正常に終了すると、チーム エクスプローラーに「変更セット ○が正しくチェックインされま
27
した。」と表示されます。(○には任意の番号が入ります。)
演習 5 : Visual Studio Online でのチケット管理
28
Visual Studio Online では、ユーザーの要件を自然言語のまま管理し、さらに要件を具体的な作業項目として要件に
関連付けて管理する機能が用意されています。作成された作業項目はチケットとして扱うことができるので、チケッ
ト管理とコードのチェックインを関連付けることで、作業項目への対応として変更したソースの追跡がしやすくなり
ます。逆に、ユーザーの要件を実現するために変更したコードの一覧を列挙することも簡単になります。
タスク 1 :Visual Studio Online におけるチケットの流れを理解するこのタスクでは、Visual Studio Online におけるチケットの流れを解説します。
1. Web ブラウザーを立ち上げ、Visual Studio Online 上の VSOHOL のポータル画面を開きます。
2. ポータル画面を開いたら、[WORK]をクリックします。
3. VSOHOL は[Process template]に[Agile]を選択して作成しました。試しに[User Story]を作成してみま
しょう。[Title]に Visual Studio Online におけるチケットの流れを理解する と入力し、[Add]をクリックし
ます。
29
4. [User Story]として[Visual Studio Online におけるチケットの流れを理解する]が作成されました。作成し
た項目をダブルクリックをすると詳細画面が表示されます。作成直後は[State]が[New]になっています。
[Visual Studio Online におけるチケットの流れを理解する ]という[User Story]に着手しましたから、
[Visual Studio Online におけるチケットの流れを理解する]の[State]を変更しましょう。[Visual Studio
Online におけるチケットの流れを理解する]をダブルクリックし、 [State]を[Active]に変更後、[Save]をク
リックします。
30
5. [Visual Studio Online におけるチケットの流れを理解する]がやり終わりましたので、続いて[State]を[Close]に変更し、[Save and Close]をクリックします。
6. 画面上から[Visual Studio Online におけるチケットの流れを理解する]のチケットが削除されます。
このように、Visual Studio Online においてチケットは[NEW]→[Active]→[Close]という流れで進めていきます。
[New]はやらなければいけない状態、[Active]はやっている最中の状態、[Close]はやり終わった状態になります。
Todo、Doing、Done と読み替えても良いでしょう。今回は[State]だけを変更していきましたが、作業に慣れてき
たらかかった時間や関連しているチケットといった付属する情報を記載しておくと良いでしょう。
タスク 2 :Visual Studio から Visual Studio Online のチケットを操作するWeb ブラウザーを使えば、Visual Studio Online のポータル画面からチケットを操作することが可能です。では、
31
Visual Studio で開発を行っているエンジニアはチケットを操作するために、必ずWeb ブラウザーを使わなければな
らないのでしょうか? いいえ、そんなことはありません。このタスクでは、Visual Studio から Visual Studio Online のチケットを操作する手順を解説します
1. Visual Studio を立ち上げ、[チーム エクスプローラー]を開き、[作業項目]をクリックします。
2. [新しい作業項目]をクリックし、[User Story]をクリックします。
3. <Enter title here>をクリックし、[Visual Studio から Visual Studio Online のチケットを操作する]と入
力後、Ctrl+S キーで保存します。
32
4. Web ブラウザーを立ち上げ、Visual Studio Online 上の VSOHOL のポータル画面を開き、[WORK]をクリッ
クすると、[User Story]として[Visual Studio から Visual Studio Online のチケットを操作する]が作成
されています。
33
5. Visual Studio から Visual Studio Online のチケットを操作できたので、このチケットを Close しましょう。
Visual Studio か ら [Visual Studio か ら Visual Studio Online の チ ケ ッ ト を 操 作 す る ] の [State] を
[Close]に変更し、Ctrl+S キーで保存します。
このように、エンジニアは Visual Studio から離れることなく、Visual Studio Online のチケットを操作することが
可能です。そのため、Visual Studio を使うエンジニアと Visual Studio を使わない人の双方が自分の使うツールか
ら離れることなく、チケットを共有できるのです
34
タスク 3 :Excel から Visual Studio Online のチケットを操作するWeb ブラウザー、Visual Studio、どちらも Visual Studio Online のチケットを 1 つ 1 つ操作しています。日々の操
作ではそれでも問題はありませんが、これではプロジェクトの初期に大量にチケットを登録する際にとても時間がか
かってしまいます。そんな時に役に立つのが、Excel です。このタスクでは、Excel から Visual Studio Online のチ
ケットを操作する手順を解説します。
※Excel から Visual Studio Online のチケットを操作するためには、Visual Studio をインストールするか、Team Explorer を別途インストールする必要があります。
1. Excel を立ち上げ、[チーム]タブから[新しい一覧]をクリックします。
2. [チーム プロジェクト(T)]から[VSOHOL]を選択し、[接続]をクリックします。
35
3. [入力リスト(I)]を選択し、[OK]をクリックします。
4. それでは Excel から発行するチケットの内容を記載しましょう。 [Title]の欄に[Excel から Visual Studio
Online のチケットを操作する ] と [ Visual Studio で行った変更にチケットを紐づける ] と入力し、[Work
Item Type]の欄にどちらも[User Story]を選択します。
5. [チーム]タブから[公開]をクリックします。
6. すると、[ID]の列に数字が入ります。この ID は Visual Studio Online で直前に発行したチケットの ID と連番
36
になっていることを確認してください。
7. [User Story]に紐づく[Task]を登録してみましょう。[Visual Studio で行った変更にチケットを紐づける]を選択した状態で、[チーム]タブから[子の追加]をクリックします。
8. [ツリーリストに変換]ダイアログが表示されるので、[ツリーを作成するリンクの種類を選択]を[Parent-
Child]のまま、[変換]ボタンを押します。
37
9. すると、新しい列として[Title 2]が以下のように追加されます。
10. [Visual Studio で行った変更にチケットを紐づける]に[Task]を紐づけたいので、その下の行の[Title 2]に[ソースコードに変更を加える]を入力し、[Work Item Type]に[Task]を選択します。
11. [チーム]タブから[公開]をクリックします。
38
12. Excel から Visual Studio Online のチケットを操作できたので、[Excel から Visual Studio Online のチ
ケットを操作する]のチケットを Close しましょう。
[Excel から Visual Studio Online のチ ケ ット を操 作す る ] の [State] を [Close]にし 、 [Reason] を
[Acceptance tests pass]を選択します。
13. [チーム]タブから[公開]をクリックします。
このように、Excel から Visual Studio Online のチケットを操作することで、手軽に大量のチケットの登録/更新を
行えるようになります。また、Excel に Visual Studio Online で管理しているチケットのデータを容易に取得できる
ため、チケットの状態を分析する際にも役に立ちます
39
演習 6 : Visual Studio Online でのチケット管理に紐
づいた変更
この演習を通じてソース コードのチェックインとチケットの関連付けを行うことを学習します。
タスク 1 :Visual Studio Online におけるチケットの流れを理解するコードの変更やドキュメントを修正する際、その作業のトリガーとなったチケットがあります。トリガーとなったチ
ケットとコードの変更やドキュメントの修正の間には関連性があります。そのため、コードの変更やドキュメントを
修正と作業のトリガーとなったチケットを紐付ける必要があります。このタスクでは、 Visual Studio で行った変更
にチケットを紐づける手順について解説します
1. Visual Studio の[チーム エクスプローラー]の[作業項目]をクリックし、クエリから[Product Planning]をクリックします。
40
1. [User Story]のチケットの一覧が表示されるので、[Visual Studio で行った変更にチケットを紐づける]をダブルクリック後、[ALL LINKS]をクリックします。
2. [User Story]の[Visual Studio で行った変更にチケットを紐づける]に紐づいている[Task]の[ソースコー
ドに変更を加える]が今回、ソースコードに変更を加える作業のトリガーとなったチケットになります。
41
3. では、ソースコードに変更を加えましょう。 [ソリューション エクスプローラー ]をクリックし、
[Calculator.cs]をクリックします。
42
4. Add の足し算の引数を逆にしただけの Add2 という関数を追記し、保存します。
43
5. Calculator.cs 上で右クリック後、[チェックイン]をクリックします。
44
6. コメントに Add2 メソッドの追加 と入力し、[ID を指定して作業項目を追加]をクリックします。
45
7. 先程確認した[Task]の[ソースコードに変更を加える]のチケットの ID を記載し、[追加]をクリックします。
46
8. コードの変更にチケットを紐づけされたので、[チェックイン]をクリックします。
47
9. [チェックイン]されました。
48
10. 紐づけたチケットに変更セットが紐づいているか確認してみましょう。 [Product Planning]をクリックし、
[ソースコードに変更を加える]をクリックします。
11. チケットに変更セットの内容が紐づいていることが確認できます。
このように、チケットとコードの変更やドキュメントの修正を紐づけることができます。
チケットとそれに紐づく変更を紐づけることで、後からチケットを見ただけでコードやドキュメントにどんな変更が
入ったのかが容易に追跡できるのです。また、コードの変更やドキュメントの修正がどのチケットがトリガーとなっ
て行ったのかもコードの変更やドキュメントの修正を見るだけで容易に追跡できるのです。
コードの変更やドキュメントの修正とチケットが対となっているため、リリースの際に必要な変更が漏れていないか 、
不必要な変更が混入していないか、といったことが容易に確認できるのです。
49
演習 7 : 継続的インテグレーションによるエラーの検知
Team Foundation Server/Visual Studio Online では、ソースコードをチェックインするときに自動でビ
ルドを
実行させることができます。(継続的インテグレーション)
これにより、エラーのあるソースコードを早期に検知することができるようになります。
タスク 1 :継続的インテグレーション用ビルド定義を作成するこのタスクでは、Visual Studio Online に継続的インテグレーション用のビルド定義を登録します。
1. 左ペインの[チーム エクスプローラー]をクリックし、家のマークのホームアイコンをクリック後、[ビルド]をクリックします。
2. 次に[XAML のビルド定義の新規作成]をクリックします。
50
現在のソリューション名でビルド定義のひな形が Visual Studio に作成されます。
3. 左側の[全般]が選択された状態になっていることを確認して、 [ビルド定義名]を 継続的インテグレーション
に変更します。
51
4. 左側の一覧から[トリガー]を選択し、[次のトリガーの 1 つを選択]から[継続的インテグレーション]を選択し
ます。
メモ:
継続的インテグレーションとは、開発者がソースコードをチェックインする度にビルドが行われます。ゲートチェッ
クインはテストが成功しないとチェックインが拒否されます。ゲートチェックインは後の演習で実施します。
5. 左側の一覧にある[ソース]設定を選択します。[作業フォルダー]にある、[ソース 管理 フォルダー]と[ビルド
エージェント フォルダー] が以下の図になっていることを確認します。
52
53
左側の一覧から[ビルド]の既定値を選択します。[ビルド出力を次のソース管理フォルダーにコピーする (この
フォルダーが存在しない場合は作成されます)]を選択します。
出力先が[$/VSOHOL/Drops]になっていることを確認します。
54
6. 左側の一覧から[プロセス]を選択し、[詳細の表示]をクリックします。
55
[既定テンプレート]が選択されていることを確認します。
56
[ビルドする構成]にフォーカスを設定すると、右端に[…]のボタンが表示されるので、クリックします。
7. [構成]ダイアログが表示されます。[追加]ボタンを押します。
57
[構成]と[プラットフォーム]が選択可能になります。
8. [構成]の一覧から[Release]、[プラットフォーム]から[Any CPU]を選択して、[OK]をクリックします。
58
ビルドテンプレートに[Any CPU|Release]と表示されています。
9. 左側の一覧から[アイテム保持ポリシー]を選択します。
メモ:
アイテム保持ポリシーはビルド結果をサーバに最大何回分保存しておくかという設定になります。多くのビルドを保
存すると、ディスクを多く使用しますが、Visual Studio Online でのディスク制限は現時点で公開されておりませ
ん。
59
10. [保存]アイコンをクリックして、ビルド定義を保存します。
チーム エクスプローラーの[すべてのビルド定義]を確認すると、[継続的インテグレーション]が表示されてい
ます。表示されていない場合、[最新の情報に更新]をクリックしてください。
60
タスク 2 :作成したテストの実行確認作成したテストは、デフォルトの状態でビルド実行時に合わせてテストも実行されますが、まずは手動でビル
ドを実行し、定義した内容が正しいことを確認します。また、テストを作成した状態でビルドを実行すると、
ビルド結果にテストの実行結果も反映されます。
1. [継続的インテグレーション]を右クリックし、[新しいビルドをキューに配置(I)…]を選択します。
2. 最下部の [キューに登録(Q)] をクリックします。
61
3. チーム エクスプローラーの[マイビルド]に[継続的インテグレーション キュー内の#○(標準)](○には任意
62
の数字が入ります)と表示されます。下記のようなアイコンになっていることを確認し、その部分をダブルク
リックします。
4. Web ブラウザーが起動し、Visual Studio Online にビルドの状態が表示されるので、ビルドが完了するま
で待ちます。
63
5. ビルド完了後、Summary をクリックすると、ビルド状態の表示内容にテストの実行結果も表示されます。
タスク 3 :継続的インテグレーションでのエラー検知ここで、わざと計算ロジックを間違えた内容に変更し、継続的インテグレーションにてエラーが検知されるこ
とを確認してみます。
1. 左ペインの[ソリューション エクスプローラー]タブをクリックし、ソースツリーから[Calculator.cs]をダブ
ルクリックします。
2. Divide メソッドを以下の内容に変更します。
64
3. メニューから、メニューから[テスト]-[実行]-[すべてのテスト]を選択します。
[テスト エクスプローラー]に表示されるテスト結果のうち、[商_6割る 2 は 3 であるべき]が[失敗テスト]のところに赤で表示されます。
4. 左ペインのチーム エクスプローラーでプロジェクト名の右にある [▼] をクリックして[保留中の変更]をク
65
リックします。
5. [コメント]欄に 割り算の変更(テストに失敗する) と入力し、[チェックイン]をクリックします。
チェックインが完了すると、通常の完了メッセージが表示されます。
66
しかし、裏ではビルドが自動実行されていますので、状況を確認します。
6. 左ペインのチーム エクスプローラーでプロジェクト名の右にある [▼] をクリックして[ビルド]をクリックし
ます。
7. [マイビルド]から実行中のビルドをダブルクリックします。
67
ブラウザーにログが表示されます。実行内容として[継続的インテグレーション]と表示されています。
ビルドが終了すると、テストでエラーとなるため Summary では[ビルドが一部成功しました]という処理結果
68
になります。
また、どのテストでエラーが発生したかも出力されます。
ビルド時のテストでエラーは発生しましたが、チェックインは完了していますので、チェックイン履歴を確
認してみます。
8. 左ペインのチーム エクスプローラーでホームボタンをクリックして、[ソース管理エクスプローラー]をク
リックします。
9. ソース管理エクスプローラーから[VSOHOL]を右クリックし、[履歴の表示]を選択します。
69
Elastic Build(テナント名)はビルドサーバですので、Elastic Build を除いた、最後の変更セット(チェッ
クイン内容)のコメントが、先ほどチェックインした際に入力したコメントとなっています。
次に、テストでエラーとなった割り算メソッドを正しく変更します。
70
10. 左ペインの[ソリューション エクスプローラー]タブをクリック後、 [Calculator.cs]をダブルクリックしま
す。
11. Divide メソッドを以下の内容に変更します。
12. テストが正常終了することを確認します。メニューから[テスト]-[実行]-[すべてのテスト]を選択します。
71
テスト結果は[テスト エクスプローラー]に表示されます。全てのテストが正常であれば、[成功テスト]のとこ
ろに、作成した4件のテスト結果が緑で表示されます。
13. 左ペインの[チーム エクスプローラー]をクリックし、プロジェクト名の右にある [▼] をクリックして[保留中の変更]をクリックします。
72
14. [コメント]欄に 割り算メソッドのバグを修正 と入力し、[チェックイン]をクリックします。
裏でビルドが自動実行されていますので、状況を確認します。
15. 左ペインのチーム エクスプローラーでプロジェクト名の右にある [▼] をクリックして[ビルド]をクリックし
ます。
73
16. [マイビルド]から実行中のビルドをダブルクリックします。
ブラウザーに詳細情報が表示されます。
74
しばらくすると、ビルドが完了します。今回は ビルド成功 と表示されます。
ソースコードのチェックイン状況も確認します。
17. 左ペインのチーム エクスプローラーでホームアイコンをクリックして[ソース管理エクスプローラー]をク
リックします。
18. ソース管理エクスプローラーから[VSOHOL]を右クリックし、[履歴の表示]を選択します。
75
最後の変更セット(チェックイン内容)のコメントが、先ほどチェックインした際に入力したコメントと
なっています。
76
演習 8 : ゲートチェックインによるエラーの検知
継続的インテグレーションでチェックイン時にエラーを検知することができるようになりますが、リポジトリには
エラーが発生するソースコードが登録されてしまいます。Team Foundation Server/Visual Studio Online では、
「ゲートチェックイン」という機能でビルドがエラーとなる場合にはチェックインさせないようにすることが可能
です。ゲートチェックインを使用すると、リポジトリを健全な状態に保つことができます。
タスク 1 :継続的インテグレーション用ビルド定義の無効化1. 左ペインのチーム エクスプローラーでプロジェクト名の右にある [▼] をクリックして[ビルド]をクリックし
ます。
77
2. XAML のビルド定義にある[継続的インテグレーション]を右クリックし、[ビルド定義の編集(B)…]をクリッ
クします。
78
3. 定義画面が表示されるので、画面下側にある[キューの処理]から[無効]を選択します。
4. 保存ボタンをクリックします。
タスク 2 :ゲートチェックイン用ビルド定義の作成1. 左ペインのチーム エクスプローラーで XAML のビルド定義の[ビルド定義の新規作成]をクリックします。
79
2. ビルド定義の設定画面が表示されます。[全般]タブの[ビルド定義名]を ゲートチェックイン に変更します。
3. [トリガー]タブの選択肢から[ゲートチェックイン]を選択します。
80
4. 左側の一覧にある[ソース]設定を選択します。[作業フォルダー]にある、[ソース 管理 フォルダー]と[ビルド
エージェント フォルダー] が以下の図になっていることを確認します。
左側の一覧から[ビルド]の既定値を選択します。[ビルド出力を次のソース管理フォルダーにコピーする (この
フォルダーが存在しない場合は作成されます)]を選択します。
81
出力先が[$/VSOHOL/Drops]になっていることを確認します。
5. 左側の一覧から[プロセス]を選択し、[詳細の表示]をクリックします。
82
[既定テンプレート]が選択されていることを確認します。
[ビルドする構成]にフォーカスを設定すると、右端に[…]のボタンが表示されるので、クリックします。
83
6. [構成]ダイアログが表示されます。[追加]ボタンを押します。
[構成]と[プラットフォーム]が選択可能になります。
84
7. [構成]の一覧から[Release]、[プラットフォーム]から[Any CPU]を選択して、[OK]をクリックします。
ビルドテンプレートに[Any CPU|Release]と表示されています。
8. 左側の一覧から[アイテム保持ポリシー]を選択します。
85
9. 保存ボタンをクリックします。
タスク 3 :ゲートチェックインによるエラー検知継続的インテグレーションのときと同様に、わざと計算ロジックを間違えた内容に変更し、継続的インテグ
レーションとの動作の差異を確認してみます。
1. 左ペインの[ソリューション エクスプローラー]をクリックし、ソースツリーから[Calculator.cs]をダブルク
リックします。
2. Divide メソッドを以下の内容に変更します。
3. メニューから、メニューから[テスト]-[実行]-[すべてのテスト]を選択します。
86
[テスト エクスプローラー]に表示されるテスト結果のうち、[商_6割る 2 は 3 であるべき]が[失敗テスト]のところに赤で表示されます。
4. 左ペインのチーム エクスプローラーでプロジェクト名の右にある [▼] をクリックして[保留中の変更]をク
リックします。
5. [コメント]欄に ゲートチェックインに失敗するようにわざと間違える と入力し、[チェックイン]をクリック
87
します。
6. 以下の確認画面が表示されるので、[ビルドの変更]をクリックします。
ボタンをクリックすると、チーム エクスプローラーの上側に検証中である旨のメッセージが表示されます。
88
チームエクスプローラーから▼をクリックして、ビルドを選択し、ビルド処理を表示します。
ゲートチェックインが実行されているので、ダブルクリックします。
89
ブラウザーが起動され、ビルド状態の画面が表示されます。
しばらくすると、継続的インテグレーションの時とは異なり、 チェックインが拒否されました というエラー
になり、Visual Studio の通知アイコンから以下のメッセージも表示されます。
90
7. 左ペインのチーム エクスプローラーでプロジェクト名の右にある [▼] をクリックして[ソース管理エクスプ
ローラー]をクリックします。
91
8. ソース管理エクスプローラーから[VSOHOL]を右クリックし、[履歴の表示]を選択します。
継続的インテグレーションの時とは異なり、チェックインが行われていません。(チェックイン時に入力し
たコメントが表示されず、変更セットの番号も変化していません)
メモ:
この状態は、先ほど修正したソースコードはサーバ側に一時保管された状態となっています。(Team Foundation
Server/Visual Studio Online の「シェルブ」という機能を使用しています。「シェルブ」は棚上げという意味)
92
再編集する前に、サーバ側に一時保管されたソースコードを削除しておきます。
9. Visual Studio の通知アイコンから表示されたメッセージ画面で[アンシェルブ]をクリックします。
10. チェックイン対象としたファイルの一覧が表示されるので、[アンシェルブ]をクリックします。
93
メモ:
以下のエラーメッセージが表示される場合は、[OK]ボタンをクリックするとメッセージ画面に戻りますので、
メッセージ画面の[無視]ボタンをクリックしてください。
次に、テストでエラーとなった割り算メソッドを正しく変更します。
11. 左ペインの[ソリューション エクスプローラー]タブをクリック後、 [Calculator.cs]をダブルクリックしま
す。
94
12. Divide メソッドを以下の内容に変更します。通常業務での変更であればコメントは不要ですが、今回はコメントを追
加しないと前回チェックインした内容と同一となるため、変更が発生していないとみなされ、チェックインができなくなる
ので、故意に入れることでチェックインを行えるようにします。
13. テストが正常終了することを確認します。メニューから[テスト]-[実行]-[すべてのテスト]を選択します。
14. テスト結果は[テスト エクスプローラー]に表示されます。全てのテストが正常であれば、[成功テスト]のところ
に、作成した4件のテスト結果が緑で表示されます。
95
15. 左ペインの[チーム エクスプローラー]をクリックし、プロジェクト名の右にある [▼] をクリックして[保留中の変更]をクリックします。
16. [コメント]欄に 割り算メソッドの修正(ゲートチェックイン通過) と入力し、[チェックイン]をクリックし
ます。
96
17. 以下の確認画面が表示されるので、[ビルドの変更]をクリックします。
ボタンをクリックすると、チーム エクスプローラーの上側に検証中である旨のメッセージが表示されます。
97
チームエクスプローラーから▼をクリックして、ビルドを選択し、ビルド処理を表示します。
ゲートチェックインが実行されているので、ダブルクリックします。
ブラウザーが起動され、ビルド状態の画面が表示されます。
98
ビルドが完了すると、下記のような画面が Visual Studio Online 上で表示されます。
また、Visual Studio の通知アイコンから以下のメッセージも表示されます。
18. チェックインが行われていることを、チェックイン履歴で確認します。左ペインのチーム エクスプローラー
でホームアイコンをクリックして[ソース管理エクスプローラー]をクリックします。
99
19. ソース管理エクスプローラーから[VSOHOL]を右クリックし、[履歴の表示]を選択します。
今回はチェックインが行われています。(チェックイン時に入力したコメントが表示されています)
100
101
20. Visual Studio の通知アイコンからのメッセージ画面については、[調整]ボタンをクリックします。
102
演習 9 : 付録 新しいビルドシステムで継続的インテグ
レーションを実施する
従来のビルドシステムは XAML ビルドとして古いビルドシステムという名前に代わり、新しい Web のみで構築可能
なビルドが既定のビルドシステムに変更されました。XAML ビルドの機能はほぼすべて搭載された以外に、クロス
プラットフォーム対応、容易なスケールアウト機能が提供されています。
本演習では継続的インテグレーションを新しいビルドシステムで実施してみます。
タスク 1 :継続的インテグレーション用ビルド定義を作成する1. 左ペインの[チーム エクスプローラー]をクリックし、家のマークのホームアイコンをクリック後、[ビルド]を
クリックします。
103
2. 登録されている[ゲートチェックイン]を右クリックして、[ビルド定義の編集]をクリックします。
3. ビルド定義の全般から[無効]を選択します。
104
4. [保存]アイコンをクリックして保存します。
保存完了すると、チームエクスプローラーのゲートチェックインのアイコンが以下の状態になっています。こ
れで無効状態にになっています。
5. 家のマークのホームアイコンをクリック後、[Web ポータル]をクリックします。
Web ブラウザーが起動するので、[BUILD]をクリックします。
105
6. 左上の緑の[+]をクリックします
106
7. [Build]のなかにある [Visual Studio]を選択して[OK]をクリックします。
OK を押すと、以下のように定義が作成されています。
107
タスク 2 :ビルド定義を編集する1. [Visual Studio Build]を選択して、[Solution]の隣のボタンをクリックします。ファイル選択ダイアログ
ボックスを表示されます。
2. [SampleWinForm.sln]を選択して、[OK]をクリックします。
108
3. [Platform]に$(BuildPlatform)、[Configration]に$(BuildConfigration)と入力されていることを確認
します。
メモ:
$(BuildPlatform)と$(BuildConfigration)はビルド時にパラメータを置換するマクロの仕組みです。このマクロを使
109
用することにより、Release や Debug,Any CPU,x86 といった指定ごとにビルドを作る必要がなくなります。
4. ビルド時にテストを実行するために [Visual Studio Test]を選択します。 [Test Assembly]に[**\$(BuildConfiguration)\*test*.dll;-:**\obj\**]と入力されていることを 確認します。 [Platform]と
[Configration]にも手順 2 と同じ、$(BuildPlatform)、$(BuildConfigration)が入力されています。
5. [Index Sources & Publish Symbols]を選択して、[Continue on Error]がチェックされていることを確
認します。
6. [Publish Build Articles]をクリックします。[Article Name]に[drop]、[Artifact Type]は[Server]が選択されていることを確認します。
110
7. [Copy Root]横のボタンをクリックします。
8. フォルダー選択ダイアログボックスが表示されます。[SampleWinForm]を選択して、OK をクリックします。
111
9. [Copy Root]に選択したフォルダーが表示されています。
112
10. [Variables]にある[BuildConfigration]を[release]に書き換えます。
113
11. [Triggers]タブの[Cotinuous integration]にチェックします。
12. [Save]をクリックして保存します。
ビルド名を指定するダイアログボックスが表示されるので、 [Name]に[新ビルドの継続的インテグレーショ
ン]、[Comment]に[新しいビルドシステムを使用した継続的インテグレーション ]と指定して、[OK]ボタン
を押します。
114
13. ビルド定義の一覧に[新ビルドの継続的インテグレーション]が追加されました。
115
タスク 3 :ビルドを実行する1. [Queue build…]をクリックすると、ビルドの実行ダイアログボックスが表示されます。
2. [OK]をクリックします。
3. すぐにビルドが開始されます。しばらくお待ちください。
116
4. ビルドが成功すると、以下のように[Build Successeded]と表示されます。
5. ビルド結果の[Build xxxxxxx]をクリックすると概要のページが表示されます。
117
まとめ
このハンズオン ラボでは、Visual Studio Online の基本的な利用方法について学習してきました。 Visual Studio Online を利用することで複数人でのアプリケーション開発を効率的に管理していくことが可能になり
ます。
参考リソース
Visual Studio サイト
http://www.visualstudio.com/ Visual Studio Online
http://www.visualstudio.com/ja-jp/products/what-is-visual-studio-online-vs Visual Studio Online はじめに
http://www.visualstudio.com/get-started/overview-of-get-started-tasks-vs アプリケーション ライフサイクル管理
http://www.visualstudio.com/explore/app-lifecycle-management-vs チーム コラボレーション管理
http://www.visualstudio.com/explore/team-collaboration-vs テスト ツール
http://www.visualstudio.com/explore/testing-tools-vs
118