TFSDeleteProject: チーム プロジェクトの削除

プロジェクトが必要なくなったら、TFSDeleteProject を使用して Team Foundation Server からチーム プロジェクトを削除できます。 さらに、チーム プロジェクトの作成に失敗した後に削除されないまま残ったコンポーネントがある場合、TFSDeleteProject を使用して削除できます。

重要

TFSDeleteProject を実行すると、チーム プロジェクトは完全に破棄されるため、後で復元することはできません。 TFSDeleteProject を使用する前に、重要なプロジェクト データはすべてバックアップしてください。

TFSDeleteProject コマンド ライン ツールは、チーム エクスプローラー を実行するクライアント コンピューターの Drive:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE にあります。 

注意

管理者のアクセス許可を使ってログオンしている場合でも、Windows Server 2008 を実行中のサーバーでこの機能を実行するには、昇格した特権でコマンド プロンプト ウィンドウを開く必要があります。 昇格した特権でコマンド プロンプト ウィンドウを開くには、[スタート] ボタンをクリックし、[コマンド プロンプト] を右クリックして、[管理者として実行] をクリックします。 詳細については、Microsoft Web サイトの「ユーザー アカウント制御」を参照してください。

必要なアクセス許可

TFSDeleteProject コマンドを実行するには、Team Foundation 管理者セキュリティ グループまたはプロジェクト管理者セキュリティ グループのメンバーである必要があります。 詳細については、「Team Foundation Server のアクセス許可」および「Team Foundation Server の既定のグループ、アクセス許可、およびロール」を参照してください。

TFSDeleteproject [/q] [/force] [/excludewss] /collection:URL TeamProjectName

パラメーター

オプション

説明

/q

省略可能。 非表示出力モードを使用します。 ユーザーに確認のプロンプトが表示されません。

/force

省略できます。 削除できないコンポーネントがある場合でも、削除プロセスを続行する場合に指定します。

/excludewss

省略できます。 チーム プロジェクトに関連付けられている SharePoint サイトを削除しない場合に指定します。 他のチーム プロジェクトが引き続き使用できるように既存のサイトを保持するには、このオプションを指定してください。

/collection:URL

必ず指定します。 チーム プロジェクト コレクションの URI を指定します。 URI の形式 http://ServerName:Port/VirtualDirectoryName/CollectionName を使用する必要があります。

仮想ディレクトリを指定しない場合は、次の形式の URI を使用する必要があります。

http://ServerName:Port/CollectionName

TeamProjectName

必ず指定します。 プロジェクトの名前。 名前に空白が含まれている場合は、二重引用符で囲みます。

解説

チーム プロジェクトを作成すると、Team Foundation Server で、Team Foundation Server をホストするサーバーにデータ オブジェクトが作成されます。また、SharePoint 製品をホストするサーバーと SQL Server Reporting Services をホストするサーバーにもデータ オブジェクトが作成されることがあります。 チーム プロジェクトを削除すると、SQL Server Reporting Services からレポートが自動的に削除されます。

チーム プロジェクトを削除するときは、SharePoint サイトをサポートするために作成されたオブジェクトを削除するかどうかを選択できます。 ただし、エラーによって Team Foundation Server がすべてのオブジェクトを作成または削除できないことがあります。 これらの問題をトラブルシューティングするため、次のセクションでは、背景情報やその他のリソースへのリンクに加えて、問題の原因の特定、問題の修正、および TFSDeleteProject の実行後に残ったデータ オブジェクトの削除 (必要な場合) に役立つ具体的な手順を示します。

  • TFSDeleteProject プロセス

  • 削除されない可能性のあるデータ

  • チーム プロジェクト コンポーネントが削除されたことの確認

  • プロジェクトを部分的に削除した後に残っているコンポーネントの削除

  • タイムアウト期間の延長

TFSDeleteProject プロセス

TFSDeleteProject コマンド ライン ツールを使用すると、まずプロジェクト データが削除され、次にプロジェクトの Web サイトが削除されます。

フェーズ 1: TFSDeleteProject によりプロジェクト データが削除される

最初のフェーズでは、TFSDeleteProject により次の手順が自動的に実行されて、チーム プロジェクト データが削除されます。

  1. TFSDeleteProject により、削除候補であるすべてのコンポーネントの一覧が作成されます。 これには、テスト マネージャー、Team Foundation ビルド、および Team Foundation バージョン管理と統合されるコンポーネントが含まれます。

  2. TFSDeleteProject により、チーム エクスプローラーにプロジェクト ノードを表示するコンポーネントが削除されます。

  3. TFSDeleteProject により、バージョン コントロール情報に削除フラグが設定されますが、この情報はすぐには削除されません。 この情報には、指定されたプロジェクトのバージョン コントロールのすべての分岐が含まれますが、プロジェクト外部の他の分岐は含まれません。

    • 親分岐と子分岐がどちらもプロジェクトに含まれる場合、TFSDeleteProject はどちらにも削除フラグを設定します。

    • 親分岐と子分岐が異なるプロジェクトに含まれる場合、TFSDeleteProject は指定された分岐にのみフラグを設定します。

    • 別のプロジェクトが、指定されたプロジェクトからの分岐である場合、TFSDeleteProject は指定されたプロジェクトにのみフラグを設定します。 指定されたプロジェクトが削除されると、分岐プロジェクトは孤立します。

  4. TFSDeleteProject により、チーム プロジェクトに関連付けられたビルド データ (情報やコア データ)、ビルド定義、ビルド エージェント、およびテスト結果がすぐに削除されます。 このツールでは、ビルドの格納場所は削除されません。 同じビルドの格納場所を使用するチーム プロジェクトを作成するまでは、古いチーム プロジェクトのビルドの格納場所を削除する必要はありません。

    指定されたプロジェクトに大量のビルド データが含まれる場合、タイムアウト期間内に削除が完了しないことがあります。 この問題を回避するには、「タイムアウト期間の延長」を参照してから、再度 TFSDeleteProject を実行してください。

  5. TFSDeleteProject により、指定されたプロジェクトに属する作業項目および作業項目フィールドがすぐに削除され、すべての非共有メタデータが削除されます。

    指定されたプロジェクトに大量の作業項目データが含まれる場合、タイムアウト期間内に削除が完了しないことがあります。 この問題を解決するには、「タイムアウト期間の延長」を参照してから、再度 TFSDeleteProject を実行してください。

フェーズ 2: TFSDeleteProject によりプロジェクトの Web サイトが削除される

2 番目のフェーズでは、TFSDeleteProject により次のデータが削除されます。

重要

これらの手順は、完了までに時間がかかる場合があり、その間サーバーのパフォーマンスが低下する可能性があります。

  • TFSDeleteProject は、Reporting Services API を使用して、Reporting Services をホストするサーバーのレポートを削除します。

  • TFSDeleteProject は、SharePoint 製品をホストするサーバーからプロジェクト ポータルの Web サイトを削除します。 この手順は、プロジェクトがサイトを所有しており、サイトの削除がコマンド ラインで除外されない場合のみ発生します (複数のプロジェクトが 1 つのサイトをポイントする場合がありますが、そのうちの 1 つだけが、レポート/ダッシュボードが既定でこのプロジェクトを使用する所有者となる点に注意してください)。

    注意

    チーム プロジェクトを削除する前に、ポータルの設定を確認することで、Reporting Services と SharePoint 製品が正しいプロジェクト URL を使用していることを確認できます。 詳細については、「チーム プロジェクト ポータルの追加」を参照してください。

TFSDeleteProject により上のデータ要素がすべて正常に削除された場合、"完了" というメッセージが返されます。 この結果を確認するには、「チーム プロジェクト コンポーネントが削除されたことの確認」を参照してください。

1 つ以上のコンポーネントが削除されない場合、/force オプションを使用して TFSProjectDelete に戻り、すべてのデータ要素を削除できない場合でも削除プロジェクトを続行できます。 このオプションを使用すると、TFSDeleteProject により削除できないコンポーネントがスキップされ、エラー メッセージが返されて、次のコンポーネントが削除されます。チーム プロジェクトのメタデータとセキュリティ設定はそのまま変わりません。

削除されない可能性のあるデータ

次のデータは、TFSDeleteProject が正常に完了しても配置に残る可能性があります。

  • キューブ内のチーム プロジェクト データ。 キューブが再ビルドされるまで、チーム プロジェクト データはキューブに残ります。その時点で、ウェアハウス コントローラー サービスにより、Team Foundation データベースから削除された履歴ビルド データがすべて削除されます。

  • ビルド格納ファイルおよびフォルダー。 ビルド バイナリ、ビルド ログ ファイル、およびテスト結果を含むログ ファイルは、ビルド処理中に発行されます。 これらのファイルの場所は削除されません。 それらのファイルを削除する場合は、手動で削除する必要があります。

  • 共有されている作業項目トラッキング メタデータTFSDeleteProject は、チーム プロジェクト間で共有されている作業項目トラッキングのメタデータは削除しません。

  • 共有コードを含むバージョン コントロール シェルブセット。 バージョン コントロール シェルブセットは、複数のチーム プロジェクトのシェルブ セットにコードがある場合は削除されません。

プロジェクトの削除の確認

チーム プロジェクト ノードが チーム エクスプローラー に表示されなくなり、そのプロジェクト ポータル Web サイトとレポート フォルダーが既に存在しないことを確認することで、プロジェクトの削除が成功したことを確認できます。

チーム プロジェクトが正常に削除されたことを確認するには

  1. チーム エクスプローラーを開き、プロジェクトがプロジェクト ノードとして表示されないことを確認します。

  2. Internet Explorer を開き、プロジェクト ポータル Web サイトの URL を入力します。 サイトが既に存在していないことを確認します。

  3. Internet Explorer の [アドレス] ボックスに、次のいずれかの URL の形式を使用して、Reporting Services Web サイトの URL を入力します。

    • http://ReportingServices/Reports

    • **http://ReportingServices/Reports_**TFSInstance

  4. レポート マネージャーで、[詳細の表示] をクリックします。

  5. 削除されたチーム プロジェクトのフォルダーが表示されなくなったことを確認します。 ルート フォルダー TfsReports をクリックし、チーム プロジェクト コレクションの名前が付いたフォルダーをクリックします。 削除されたプロジェクトの名前が付いたフォルダーがなくなります。

  6. レポートまたは Web サイトが残っている場合、次の手順を参照してください。

プロジェクトを部分的に削除した後に残っているコンポーネントの削除

チーム プロジェクトの削除後にプロジェクト ポータル Web サイトおよびレポート フォルダーが残っている場合、サイトとフォルダーを手動で削除します。

削除されたチーム プロジェクトのレポートおよびプロジェクト ポータル Web サイトを手動で削除するには

  1. 削除したチーム プロジェクトの Reporting Services をホストするサーバーにログオンします。

  2. Internet Explorer を開き、[アドレス] ボックスに、次のいずれかの URL の形式を使用して Reporting Services Web サイトの URL を入力します。

    • https://localhost/Reports

    • **https://localhost/Reports_**TFSInstance

  3. レポート マネージャーで、[詳細の表示] をクリックします。

  4. ルート フォルダー TfsReports をクリックし、チーム プロジェクト コレクションの名前が付いたフォルダーをクリックします。

  5. 削除されたチーム プロジェクトのチェック ボックスをオンにします。

  6. [削除] をクリックします。

  7. [OK] をクリックして、チーム プロジェクトのレポート フォルダーの削除を確認します。

  8. 削除されたチーム プロジェクトのプロジェクト ポータル Web サイトを削除するには、Microsoft Web サイトのページ (「方法 : Windows SharePoint Services サイトを作成、編集、および削除する」) を参照してください。

タイムアウト期間の延長

既定では、TFSDeleteProject コマンドがコンポーネントを削除するために発行する Web サービスの各呼び出しは、10 分以内に完了する必要があります。 6 つの呼び出しがある場合、プロセスは最大 1 時間かかる可能性があります。 大量のデータと関連付けられているチーム プロジェクトを削除する場合、このタイムアウト期間を一時的に延長することができます。

注意

タイムアウト期間を延長すると、変更がすべての Web サービスの呼び出しに適用されます。 通常は、タイムアウト期間を 10 分以内に維持して、Web サービスの呼び出しによりサーバーのパフォーマンスが低下したり、ユーザーが長時間ユーザー インターフェイスを使用できなくなることがないようにしてください。 このため、プロジェクトが正常に削除されたら、タイムアウト期間を 10 分に戻す必要があります。

必要なアクセス許可

これらの手順を完了するには、アプリケーション層サーバー上で Windows 管理者である必要があります。

重要

コンピューターのレジストリを誤って変更すると、コンピューターが不安定になる場合があります。 レジストリに詳しくない場合は、エントリを追加または削除したり、なんらかの方法でレジストリに変更を加えたりしないようにしてください。

TFSDeleteProject コマンドのタイムアウト期間を延長するには

  1. アプリケーション層サーバーにログオンします。

  2. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックして「regedit」と入力し、[OK] をクリックします。

  3. ブラウザー ペインで、HKEY_ LOCAL_MACHINE を展開します。

    • サーバーで 32 ビット オペレーティング システムが実行されている場合は、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\TeamFoundation\RequestSettings を展開します。

    • サーバーで 64 ビット オペレーティング システムが実行されている場合は、HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432\Microsoft\VisualStudio\10.0\TeamFoundation\RequestSettings を展開します。

  4. TeamFoundation\RequestSettings キーが存在しない場合、次の手順に従って作成します。

    1. [TeamFoundation] を右クリックして [新規作成] をポイントし、[キー] をクリックします。

    2. キーに「RequestSettings」という名前を付けます。

    3. [RequestSettings] を右クリックし、[新規] をポイントし、[DWORD 値] をクリックします。

    4. 新しい値に「DefaultTimeout」という名前を付けます。

  5. [DefaultTimeout] を右クリックし、[修正] をクリックします。

  6. [値のデータ] に、タイムアウト期間をミリ秒単位で入力し、[10 進] をクリックします。

    たとえば、タイムアウト期間を 30 分に延長するには、「1800000」と入力します。 タイムアウト期間を 10 分に戻すには、「600000」と入力します。

  7. [OK] をクリックします。

  8. [ファイル] メニューの [レジストリ エディターの終了] をクリックします。

使用例

次のコマンドを実行すると、プロジェクト コレクション Collection1 内にある Team Foundation Server AdventureWorks1 サーバー上のチーム プロジェクト StoreFront に関連付けられたすべてのコンポーネントがチーム エクスプローラーから削除されます。

TFSDeleteProject /force /collection:http://AdventureWorks1:8080/Collection1 StoreFront

参照

処理手順

Team Foundation Server 上のチーム プロジェクトへの接続およびアクセス

チーム プロジェクトの作成

その他の技術情報

アクセス許可の管理

チーム プロジェクトをサポートするリソースの構成

Team Foundation Server コマンド ライン ツールの使用方法