質問

グローバルリストから未使用または古いビルドをパージするためのベストプラクティスは何ですか?

現在、各CIビルドは、そのラベルをビルドリストに追加します。時間が経つにつれて、リストが肥大化し、時にはリストから未使用のものを手動で削除します。

役に立ちましたか?

解決

TFSグローバルリスト します 肥大化してそれをしてください します パフォーマンスを妨げます。私たちは同じ問題を抱えています。

以下を行うことをお勧めします。

  1. ワークアイテムのタイプ定義を変更するには、a 既存の値を許可します ビルドのリストのグローバルリストに依存するWITフィールドのルール(例:バグの「ビルドで見つかった」フィールドなど)。
  2. 定期的に(手動またはスケジュール)古いビルドを削除します。各ビルド定義の保持ポリシーを確認できます。保持されないビルドを削除することは安全です(デフォルトでは、定義ごとに最後の10)。これを自動化し、TFSデータベースを照会して、どのビルドが安全に削除できるかを確認することをお勧めします。
  3. または、ビルドのドロップ場所を調べて、ディレクトリの結果を解析することもできます(つまり、そこに保存されているビルドを保持します)。

他のヒント

TFSは、これらのラベルをグローバルリストに追加して、作業項目を特定のビルドにリンクできるようにします。理論的には、これらのリスト項目を使用している項目を無効な状態にするために使用している作業項目を残すため、グローバルリストからビルドのリストを「クリーンアップ」するべきではありません。

ユーザーへの「割り当て」のリストのように、時間の経過とともに肥大化する他のリストがあります。そのチームプロジェクトの有効なユーザーであったことがある人は誰でも、上記と同じ理由でそのリストに表示されます。ユーザーを削除すると、そのユーザーの作業アイテムが無効な状態に残ります。変更セットを関連付けたり、無効な作業項目で他の操作を実行しようとすると、エラーが発生します。

アイテムの長いリストに実際にパフォーマンスの問題はないはずです。ドロップダウンの巨大なリストから選択するのは迷惑になります...しかし、それはTFSビーストの性質の一種です。あらゆる種類の情報を保存して、時間の経過とともにメトリックを引くことができます。

TFS_Analysisキューブまたはビルド用のトランザクションテーブルを調べます。これまでに実行したすべてのビルドのデータの行があります。 (TFS 2008は、ビルドを削除したときにトランザクションテーブルから行を削除しました... TFS 2010では、データが保持され、データベースに「isDeleted」フラグが設定されるため、データは永遠に留まります)

古いビルドを洗い流す方法がわかりません。また、「使用できない」バグのようなフィールドを作成する数百の削除されたビルドを含む役に立たない肥大化したリストもあります。

ただし、レーベルを必要としない/必要としない可能性があるため、CIビルドの多くのビルドアップが軽減される可能性があります。各ビルド定義を編集して、ビルドが開始されたときにソースコントロールのラベル付けを停止できます。 (今のPCから離れているので、私は完全な指示を提供できません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top