Skip to main content

Visual Studio 2012 自習書

第 3 回
Team Foundation Server のインストールと最初の一歩

更新日: 2013 年 6 月 13 日

ダウンロード ( PDF、2.99 MB)


目次

  1. Team Foundation Server について
  2. Team Foundation Server のインストール
  3. Team Foundation Server への接続とチーム プロジェクトの作成
  4. コードのバージョン管理

1. Team Foundation Server について

開発ツールである Visual Studio は "開発者個々人" のツールであると同時に、"開発チーム" を支援するツールでもあります。特に、コードのバージョン管理のためのツールである Visual SourceSafe は小規模なチームにおいても気軽に使用できるバージョン管理ツールとして、広く開発者に使用されてきました。

一方でソフトウェア開発が高度化し、また開発プロジェクトにかかわる関係者同士のコミュニケーションが重要になる中で、"開発チーム" が開発プロジェクトにおいて抱える課題は、コードのバージョン管理だけにとどまらず、ユーザーの要求管理やバグ報告に代表されるプロジェクト管理のための機能や、作業の進捗状況や品質状況などの様々なプロジェクト状況の可視化、あるいはソフトウェアの設計書やユーザー教育のためのマニュアルなどのドキュメント管理等、多岐にわたるようになってきました。

Visual Studio では、そのような要求に応えるべく、バージョン 2005 のリリースの際に、新しいサーバー製品となる Visual Studio Team Foundation Server を製品ラインナップに追加し、開発チーム全体の作業効率向上のための様々な機能を提供しています。

図 1.1 Team Foundation Server
図 1.1

この自習書においては、Team Foundation Server の基本的な使用方法をバージョン管理を軸としながら学習します。

ぜひこの自習書で、Team Foundation Server の活用方法をご確認ください。

Visual Studio 2012 試用版の入手方法

Visual Studio 2012 の試用版は無償で以下の Web サイトよりダウンロード入手いただけます。

(本自習書のハンズオン開始前に Premium もしくは Ultimate の環境をあらかじめインストールしてください)

ページのトップへ


2. Team Foundation Server のインストール

1 つめのハンズオンとして、Team Foundation Server のインストールを行います。
Team Foundation Server は、サーバー OS (Windows Server 2012 等) だけでなく、クライアント OS (Windows 8 等) にインストールすることも可能です。

  1. Team Foundation Server の試用版 (Update 2 適用版) をインストールするために、以下の URL にアクセスします。

  2. インストールのオプションが 2 つありますので、上のオプション (「今すぐインストール」) をクリックしてください。

    図 2.1
    図 2.1
  3. セットアップのためのダイアログが立ち上がりますので、ライセンス条項をご確認いただきインストールを開始してください。

    図 2.2
    図 2.2

    Team Foundation Server のインストールが開始されます。

    図 2.3
    図 2.3
  4. しばらくすると、ライセンス キー入力のためのダイアログが立ち上がりますので、「評価版ライセンスをインストールする」を選択し、ライセンス認証を行ってください。
    なお、Team Foundation Server では、後日製品版をご購入いただいた際に入手いただけるライセンス キーを使用して、評価版から製品版への切り替えが可能です (Team Foundation Server のアンインストール、再インストール、といった手間が不要です)。

    図 2.4
    図 2.4
  5. 「構成センター」が表示されますので、インストールを行う Team Foundation Server の構成を選択します。今回は小規模な開発チームでも容易に使用できる「軽い構成」である "基本" の構成を選択します。

    図 2.5
    図 2.5

    このほか、構成として選択できる "詳細" の構成では、"基本" 構成で提供する機能に加え、SQL Server のレポーティング機能による高度なプロジェクト状況の可視化や、SharePoint Server を利用したドキュメント管理の機能を利用できます。また、より大規模な開発プロジェクト向けに、Team Foundation Server を 2 層 (アプリケーション層とデータ層の 2 層) に分割インストールすることも可能です。

  6. 「基本構成ウィザード」が表示されますので、内容を確認し、「次へ」をクリックしてください。

    図 2.6
    図 2.6
  7. SQL Server のインスタンス選択画面が表示されますので、「SQL Server Express のインストール」を選択し、「次へ」をクリックします。

    図 2.7
    図 2.7
  8. 構成の設定確認画面が出ますので、内容を確認いただき問題なければ、「次へ」をクリックします。

    図 2.8
    図 2.8
  9. 構成の設定に基づき環境の検証が始まり、結果が表示されます。検証内容に問題がなければ「構成」をクリックしてください。

    図 2.9
    図 2.9
  10. OS 各種設定と、SQL Express のインストール、Team Foundation Server 用の設定が実施されます。終了しましたら「次へ」をクリックしてください。

    図 2.10
    図 2.10
  11. 正常に完了していましたら、「閉じる」を押し、基本構成のウィザードを終了します。

    図 2.11
    図 2.11
  12. 構成センターの画面に戻るので、「閉じる」を押して、セットアップを終了します。

    図 2.12
    図 2.12
  13. Team Foundation Server 管理コンソールが表示されます。この中にある、"Web Access の URL" として表示されている URL (http://<コンピューター名>:8080/tfs) に対して、ブラウザーでアクセスします。

    図 2.13
    図 2.13
  14. Team Foundation Server の Web ポータルが表示されます。右上の名前の部分にカーソルをあてると、AD の認証情報 (ドメイン名\ユーザー名) が表示されます。

    図 2.14
    図 2.14

以上で、1 つ目のハンズオンは終了です。

1 つ目のハンズオンでは、クライアント OS に Team Foundation Server を基本構成にてインストールしました。

ページのトップへ


3. Team Foundation Server への接続とチーム プロジェクトの作成

2 つめのハンズオンとして、Visual Studio から Team Foundation Server への接続と、チーム プロジェクトの作成を行います。

Team Foundation Server において「チーム プロジェクト」とは、開発プロジェクト単位を基本に作成するもので、それぞれの開発プロジェクトにおける「作業項目」、「イテレーション定義」、「区分 (サブシステム分割) 定義」、「ソース コード」、「ビルド定義」、「自動化されたテスト」、「ビルドやテストの結果」、「チームの開発速度」などを管理する単位です。

  1. Visual Studio 2012 を立ち上げ、メニューから「表示」をクリックし、表示された項目のなかから「チーム エクスプローラー」をクリックします。

    図 3.1
    図 3.1
  2. 「チーム エクスプローラー」のウィンドウが表示されるので、「チーム プロジェクトを構成します」をクリックしてください。「Team Foundation Server への接続」ウィンドウが立ち上がります。

    図 3.2
    図 3.2
  3. 「Team Foundation Server への接続」ウィンドウにおいて、「サーバー」ボタンをクリックします。新しく「Team Foundation Server の追加および削除」ウィンドウが立ち上がります。

    図 3.3
    図 3.3
  4. 「追加」ボタンを押し、「Team Foundation Server の追加」ウィンドウにて、Team Foundation Server をインストールしたコンピューターの名前を入力します。「Team Foundation Server の追加」ウィンドウの下部にて「プレビュー」として URL が表示されるので確認し、「OK」を押します (通常は 1 つ目のハンズオンの手順「13」にて表示された URL と同じ URL が表示されます)。

    図 3.4
    図 3.4
  5. 「Team Foundation Server の追加および削除」ウィンドウに、Team Foundation Server のサーバー名と URL が表示されるので確認し、「閉じる」を押します。

    図 3.5
    図 3.5
  6. 「Team Foundation Server への接続」ウィンドウに、サーバー名とサーバーに含まれるチーム プロジェクト コレクション、およびチーム プロジェクトの情報が表示されます (Team Foundation Server を作成した直後のため、それぞれ初期状態が表示されます)。「接続」をクリックし、Team Foundation Server へ接続します。

    図 3.6
    図 3.6
  7. チーム エクスプローラーにて「チーム プロジェクトへの接続」をクリックします。

    図 3.7
    図 3.7
  8. チーム エクスプローラーの表示が切り替わりますので、「新しいチーム プロジェクト」のメニューをクリックします。「<Team Foundation Server 名>¥DefaultCollection の新しいチーム プロジェクト」というウィンドウが立ち上がります。

    図 3.8
    図 3.8
  9. チーム プロジェクトの名前と、説明を入力します。下記の例では、名前として「Visual Studio 自習書」、説明として「Visual Studio 自習書のハンズオンのためのプロジェクトです。」と入力しています。入力が完了すれば、「次へ」をクリックします。

    図 3.9
    図 3.9
  10. 次の画面ではチーム プロジェクトにおいて使用するプロセスのテンプレートを指定します。このプロセス テンプレートによって、チームの作業を管理するための「作業項目」の項目定義やステータス定義などが変化します。最上位にある "Microsoft Visual Studio Scrum 2.2" のテンプレートが最も軽量で、その次に "MSF for Agile Software Development 6.2" が軽量です。一番下の "MSF for CMMI Process Improvement 6.2" は CMMI に準拠できるように各作業項目が構成されています。
    この自習書では、一番上の "Microsoft Visual Studio Scrum 2.2" を選択し、「完了」をクリックします。

    図 3.10
    図 3.10
  11. チーム プロジェクトの作成が開始されます。チーム プロジェクトの作成が終了すると下記のような画面が表示されますので「閉じる」をクリックします。

    図 3.11
    図 3.11
  12. チーム エクスプローラーに作成したチーム プロジェクトが表示されますので、ダブルクリックをします。

    図 3.12
    図 3.12
  13. チーム エクスプローラーの表示が切り替わり、チーム プロジェクト「Visual Studio 自習書」(もしくは、チーム プロジェクト作成時に指定した名前) の各項目へのリンクが表示されます。「Web アクセス」をクリックします。

    図 3.13
    図 3.13
  14. ブラウザーが立ち上がり、チーム プロジェクト「Visual Studio 自習書」のポータルが表示されます。右下の「スケジュールおよびイテレーションの構成」をクリックします。

    図 3.14
    図 3.14
  15. "イテレーション" はアジャイル開発におけるスケジュールの区切りとなります。アジャイル開発 (スクラム含む) においては、通常開発プロジェクトはいくつかのイテレーションから構成されており、イテレーション毎に達成すべき目標 (顧客に提供する機能、価値) を定めます。特にスクラムではイテレーションのことを "スプリント" と呼び、他のアジャイル開発方法論に比べて短期間 (2 週間から 1 か月程度) での機能の提供を目指します。Team Foundation Server のチーム プロジェクトでは、初期値として 6 つのスプリントと、それをまとめた "リリース" と呼ばれるまとまり、および "スプリント" を持っていない状態の "リリース" 3 つから構成されています。

    ※ Team Foundation Server のイテレーション情報 ("リリース" や "スプリント") は自由に編集可能です。デフォルトの構成のまま使用する必要はなく、開発プロジェクトにおけるリリース計画や顧客との話し合いに応じて適宜編集を行うものです。

    イテレーションの情報を確認できたら「閉じる」を押し、ウィンドウを閉じます。

    図 3.15
    図 3.15
  16. 次にスクラムにおいて作業の単位となる "プロダクト バックログ" を設定します。「プロダクト バックログ項目」をクリックしてください。

    図 3.16
    図 3.16
  17. 新規にプロダクト バックログを追加する画面が立ち上がりますので、「ユーザー登録とログイン、ログアウト機能」と入力し、また、イテレーションの項目から "リリース 1" の "スプリント 1" を選択し、「保存して閉じる」をクリックします。

    図 3.17
    図 3.17
  18. 戻った画面で再度 「プロダクト バックログ項目」 をクリックし、立ち上がったウィンドウにて 2 つ目のバックログとして、「有償サービスへのアップグレード申し込み機能」と入力し、また、イテレーションの項目から "リリース 1" の "スプリント 2" を選択し、「保存して閉じる」をクリックします。

    図 3.18
    図 3.18
  19. 「作業」メニューをクリックし、「ボード」をクリックします。先ほど入力した 2 つのバックログを確認できます。

    図 3.19
    図 3.19
  20. 「ユーザー登録とログイン、ログアウト機能」の項目にある「+ (プラス)」ボタンを押すと、プロダクト バックログの内容をさらに詳細化したタスクを登録できます。「ASP.NET MVC 4 のログイン機能を確認する」と入力し、「保存して閉じる」をクリックします。

    図 3.20
    図 3.20
  21. 同様に「ユーザー登録とログイン、ログアウト機能」の項目にある「+ (プラス)」ボタンを押し、「ASP.NET MVC 4 のを利用し、ユーザー認証機能を作成する」と入力し、「保存して閉じる」をクリックします。

  22. 以下のように「ユーザー登録とログイン、ログアウト機能」のバックログの構成要素として 2 つのタスクが「作業予定」の枠に入っているのが確認できます。

    図 3.21
    図 3.21

以上で、2 つ目のハンズオンは終了です。

2 つ目のハンズオンでは、Visual Studio からの Team Foundation Server への接続と、チーム プロジェクトの作成を行いました。

  1. (1) Visual Studio から Team Foundation Server への接続
  2. (2) チーム プロジェクトの作成
    1. (ア) プロセス テンプレートの選択
    2. (イ) イテレーション (スプリント) の確認
    3. (ウ) スクラム テンプレートに基づくプロダクト バックログ、ならびにタスクの作成

ページのトップへ


4. コードのバージョン管理

3 つめのハンズオンとして、Team Foundation Server を使ったコードのバージョン管理を体験します。

  1. Visual Studio の「ファイル」メニューから、「新規作成」→「プロジェクト」を選択します。

    図 4.1
    図 4.1
  2. 表示された「新しいプロジェクト」のウィンドウにおいて、Visual C# のテンプレートにある 「クラス ライブラリ」を選択し、また、プロジェクトの名前を「SelfStudy」と入力し、「OK」をクリックします。

    図 4.2
    図 4.2
  3. "SelfStudy" ソリューションとプロジェクトが生成され、最初のクラスとして、"SelfStudy" 名前空間に属する "Class1" クラスが作成されます。最初にこの "Class1" クラスの名称を変更 (リファクタリング) しましょう。"Class1" の定義において右クリックを押し、表示されたメニューから「リファクター」→「名前の変更」を選択します。

    図 4.3
    図 4.3
  4. 表示された「名前の変更」ウィンドウで、新しい名前として "VacationManagement" と入力し、「OK」をクリックします。

    図 4.4
    図 4.4
  5. 変更のプレビューを確認し、「適用」をクリックします。

    図 4.5
    図 4.5
  6. 併せて物理ファイル名 (Class1.cs の名称) も変更しましょう。ソリューション エクスプローラーにて、"Class1.cs" を右クリックし、表示されたメニューで「名前の変更」を選択します。

    図 4.6
    図 4.6
  7. ファイル名を "VacationManagement" に変更します。

    図 4.7
    図 4.7
  8. クラスの先頭にクラスの説明 (XML ドキュメント コメント) を追加します。

    /// <summary>
    /// 休暇管理を行うクラス
    /// </summary>

    なお、XML ドキュメント コメントの記述に関しては、Visual Studio のコード スニペット機能を利用することが可能です。具体的にはクラスやメソッド、あるいはプロパティの上の 1 行で "///" を入力すると、Visual Studio が自動的にそれぞれに最適化された XML ドキュメント コメントのスニペットを展開します。

    図 4.8
    図 4.8
  9. ここまで作成したコードを、Team Foundation Server に追加しましょう。ソリューション エクスプローラーにて、ソリューションを右クリックし、表示されたメニューから「ソリューションをソース管理に追加」を選択します。

    図 4.9
    図 4.9
  10. 表示された「ソリューション SelfStudy をソース管理に追加」ウィンドウにおいて、ソリューションのフォルダー名や場所を確認します (今回はこれらの内容に関しては変更を行いません)。「OK」をクリックします。

    図 4.10
    図 4.10
  11. ソリューション エクスプローラーのソリューション/プロジェクト表示において、各項目の先頭に「+」が表示されます。Team Foundation Server でバージョン管理が行われているファイルは、このように項目の先頭に Team Foundation Server での管理状態をもとにしたアイコンが表示されます。

    図 4.11
    図 4.11
  12. この状態では、Team Foundation Server との関連付けができたのみで、コード自体は Team Foundation Server に記録されていません。コードをサーバーに記録させるため、ソリューション エクスプローラーにて、ソリューションを右クリックし、表示されたメニューから「チェックイン」を選択します。

    図 4.12
    図 4.12
  13. 「チーム エクスプローラー」にチェックインのための情報が表示されます。"チェックイン" とは、開発者が自身のPC (ローカルの PC) で行った作業を、Team Foundation Server に記録し、他のチーム メンバーとコードを共有するための機能です。チェックインのコメントとして、「ソリューションの作成開始に伴うチェックイン」と記述し、「チェックイン」ボタンをクリックします。

    図 4.13
    図 4.13

    ※ Team Foundation Server では、複数のファイルを一度にチェックインすることが可能です。この時の操作は "アトミック" な単位で実施されます。つまり万が一、複数のファイルのうち 1 つでもチェックインに失敗すると、すべてのファイルのチェックインが取り消されます。

  14. 「チェックインの確認」ダイアログを確認し、「はい」をクリックします。

    図 4.14
    図 4.14
  15. チーム エクスプローラーに、"チェックイン" の結果を確認します。Team Foundation Server では、開発者の "チェックイン" によって行われたソース コードの変更を "変更セット" という単位で管理しています。以下の画面では、今回行ったコードの変更が "変更セット 5" として記録されたことが確認できます (数字の部分は環境により異なる数字になりますので、"変更セット 3" や "変更セット 6" のような表示であってもこのハンズオンの実施としては問題ありません)。

    図 4.15
    図 4.15
  16. Team Foundation Server に記録されているコードの情報は、Web ブラウザーから確認することも可能です。ここで、2 つ目のハンズオンで確認した Web のポータルにアクセスし (デフォルトでは http://<コンピューター名>:8080/tfs)、上部のメニューから「コード」をクリックし、切り替わった画面において「エクスプローラー」をクリックします。また、その後表示される内容から「Visual Studio 自習書」を選び、「SelfStudy」フォルダーをクリックします。

    図 4.16
    図 4.16
  17. 「SelfStudy」フォルダーに含まれる「SelfStudy」プロジェクトのフォルダーをクリックし、"VacationManagement.cs" をクリックすると、先ほど Visual Studio で記述し、チェックインしたコードを確認できます。

    図 4.17
    図 4.17
  18. また、Team Foundation Server では、Web ブラウザーより変更セットの確認も可能です。上部のメニューの「変更セット」をクリックします。

    図 4.18
    図 4.18
  19. 次に Visual Studio に戻り、コードを追加します。VacationManagement クラスのクラス定義の中でデフォルトのコンストラクタを追加します。

     public class VacationManagement
    {
              /// <summary>
              /// デフォルトのコンストラクタ
              /// </summary>
              public VacationManagement()
              {

              }
    }

  20. ソリューション エクスプローラーにおける VacationManagement.cs の項目の先頭のアイコンが赤色の チェックマークに変更され、Team Foundation Server の内容と異なる状態にあることが示されます。

    図 4.19
    図 4.19
  21. 実際に Team Foundation Server に記録されているデータとの差分を確認しましょう。ソリューション エクスプローラーにおいて、VacationManagement.cs を右クリックし、表示されたメニューから「比較」を選択します。

    図 4.20
    図 4.20
  22. 「比較」のウィンドウが表示されますので「OK」をクリックします。

    図 4.21
    図 4.21
  23. Team Foundation Server 側で保存されているファイル (左側) とローカルにあるファイル (右側) の比較結果が表示されます。Team Foundation Server を使用しバージョン管理を行っていると、このようにしてチェックイン前に実施した変更の内容を確認することが可能です。

    図 4.22
    図 4.22
  24. 引き続きコードのチェックインを行います。ソリューション エクスプローラーにて "VacationManagement.cs" のファイルを右クリックし、表示されたメニューから「チェックイン」を選択します。

    図 4.23
    図 4.23
  25. チーム エクスプローラーが表示されますので、コメント欄に 「VacationManagement のコンストラクタを追加」と記入します。

    図 4.24
    図 4.24
  26. コードの "チェックイン" ではコードの変更内容を "変更セット" として記録できるほか、2 つ目のハンズオンで作成した "プロダクト バックログ" の情報や "タスク" と関連付けることが可能です。つまり、プロジェクト管理の観点で、それぞれのコードの変更がどのようなタスク (あるいはプロダクト バックログなどの作業項目) に紐づいて行われたのかを管理できることになります。
    ここでは、タスクとの関連付けを設定するため、一旦 Team Foundation Server に Web ブラウザーでアクセスし、タスク情報の確認を行います。
    手順 16 でアクセスした Team Foundation Server のポータル画面の上部のメニューから「作業」を選択し、「ボード」をクリックします。また、表示された作業項目 (プロダクト バックログ、ならびにタスク) の中から「ASP.NET MVC 4 を利用し、ユーザー認証情報を作成する」をダブルクリックします。

    図 4.25
    図 4.25
  27. 表示された詳細情報のうち、左上にあるタスクの ID (下記の画面では「タスク 6」となっているので、タスクの ID は "6" になります) を確認してください。ID の確認ができれば、「キャンセル」をクリックして詳細情報を閉じてください。

    図 4.26
    図 4.26
  28. Visual Studio のチーム エクスプローラーに戻り、チェックイン情報の「関連作業項目」の「ID によって作業項目を追加」をクリックし、先ほど確認した ID (下記の例では "6") を入力し、「追加」をクリックします。

    図 4.27
    図 4.27
  29. 「関連作業項目」に「ASP.NET MVC 4 を利用し、ユーザー認証情報を作成する」のタスクが表示されます。Team Foundation Server では、変更セット (コードの変更情報) と作業項目 (タスク等の情報) の関係として、「解決」 (関連づけられた作業項目のステータスが解決 (完了) になる) と「関連付け」 (作業項目と関連付けは行うが、ステータスを解決 (完了) にはしない) を選択できます。今回は「関連付け」のみとしたいので、チーム エクスプローラーに表示されている作業項目情報の右側にある「解決」をクリックし、表示されたメニューから「関連付け」を選びます。

    図 4.28
    図 4.28
  30. 該当箇所のチーム エクスプローラー上の表示が「関連付け」に変わったことを確認し、「チェックイン」をクリックします。

    図 4.29
    図 4.29
  31. 「チェックインの確認」が表示されるので、「はい」をクリックし、チェックインと作業項目への関連付けを実行します。

    図 4.30
    図 4.30
  32. チェックインが成功すると、チーム エクスプローラーに下記のようなメッセージが表示されます。今回の場合「変更セット 6」として記録されたことがわかります (この数字は環境により異なりますので、"6" 以外の数字になる場合もあります)。

    図 4.31
    図 4.31
  33. 次にタスク情報からコードへの関連を確認してみましょう。手順 2627 で実施したように「ASP.NET MVC 4 を利用し、ユーザー認証情報を作成する」の詳細情報を表示し、「履歴」の項目にある「リンク」をクリックします。

    図 4.32
    図 4.32
  34. リンク項目として「親」 (このタスクの親となるプロダクト バックログ情報へのリンク) と、「変更セット」 (このタスクに関連付けられたコード変更の履歴) を確認できます。

    図 4.33
    図 4.33
  35. さらに、「変更セット」に含まれる「変更セット 6」をダブルクリックをすると、新しいタブが開き、Web ブラウザーから「変更セット 6」の詳細情報を確認することが可能です。

    図 4.34
    図 4.34

このように Team Foundation Server を使用すると、コードのバージョン管理だけでなく、プロジェクト管理の観点での作業項目 (プロダクト バックログやタスク等) の管理を行うことができ、またそれら 2 つの情報を互いに関連付けることで、開発者の行った作業がどのような作業項目に基づいて行われたものかを記録することが可能です。

また、これらの情報は Visual Studio からだけでなく、Web ブラウザーからも確認することができるので、Visual Studio を普段使用しないプロジェクト関係者がプロジェクトの進捗状況や、コードの進捗状況を Web ブラウザーから確認することが可能になります。

以上で、3 つ目のハンズオンは終了です。
3 つ目のハンズオンでは、Team Foundation Server を利用したコードのバージョン管理と、作業項目との関連付けを行いました。

  1. (1) Team Foundation Server でのコードのバージョン管理の開始
    1. (ア) Team Foundation Server との関連付け
    2. (イ) Team Foundation Server へのコードのチェックイン
  2. (2) コードを更新した際のチェック イン
    1. (ア) チェックイン前のコードの変更箇所の確認
    2. (イ) チェックインにおける作業項目とコードの変更内容の関連付け
    3. (ウ) Web ブラウザーを使った作業項目に紐づくコード変更内容の確認


Visual Studio 2012 自習書
シリーズ

  1. Visual Studio 2012 による単体テスト
  2. Visual Stusio 2012 を使ったコード分析
  3. Team Foundation Server のインストールと最初の一歩
  4. Web アプリケーションのテスト (前編)
  5. Web アプリケーションのテスト (後編)

一覧を見る >>

自習書 (Do-It-Yourself シリーズ)

一覧を見る >>

ページのトップへ