清理 Azure DevOps Server 中的旧数据

Azure DevOps Server 2022 |Azure DevOps Server 2020 |Azure DevOps Server 2019

随着时间的推移,Azure DevOps Server 实例可以生成大量数据,包括文件、生成、工作项等。 在项目的生存期内,此数据作为生成软件所涉及的各种项目的历史记录非常有用。 最终,维护较旧数据所涉及的成本(包括性能影响和升级花费的时间增加,以及磁盘空间需求增加)可能超出优势。

本文提供有关清理多种不同类型数据的指南,这些数据主要来自于 Azure DevOps Server 的集合数据库。

请注意,清理后,任何 SQL 数据文件的大小都不会减少,因为 SQL Server 将保留空间以供将来使用。

重要

在以下所有情况下,一旦清理数据,无法恢复,但还原数据库备份除外。 请小心,仅删除那些你明确不再需要的数据。

先决条件

若要执行这些过程,需要是具有高度权限的用户,通常是项目集合或项目管理员组的成员。

项目

如果不再需要整个项目,则删除它们可能会产生很大影响,因为这会删除项目在所有功能区域中的所有内容。 可通过两种方法删除项目:

  1. 使用 网络门户

  2. 使用 Visual Studio 安装随附的 TfsDeleteProject 工具。

默认情况下,这两种方法将执行同一组操作。

文件

通常,文件内容会占用 Azure DevOps Server 集合数据库中的大部分空间,因此清理不需要的文件可能会对数据量产生重大影响。 Azure DevOps Server 集合数据库中存储了许多不同类型的文件,包括 Team Foundation 版本控制文件、Git 文件、工作项附件、测试用例附件、生成输出等。 大多数但并非所有都支持清理。

请注意,文件内容通常不会在删除时立即 清理,而是由定期运行的后台作业(通常每天运行一次)。

Team Foundation 版本控制内容

删除 Team Foundation 版本控制(TFVC)分支、文件夹和文件时,它们仅在逻辑上 删除 删除-其内容仍可在历史记录中使用。 可以使用 tf.exe中的 destroy 命令 以物理方式删除 TFVC 分支、文件夹或单个文件。

测试附件

清理测试数据的选项是设置项目的测试保留策略。 若要了解详细信息,请参阅 控制测试结果保存时间

XAML 生成

每当删除 Azure DevOps Server 中的构建时,会保留它们生成的某些信息,以避免在下次重新构建 仓库时丢失报告数据。 可以使用 tfsbuild.exe中的 destroy 命令 以物理方式删除生成数据。

此外,还可以为构建和发布管道设置保留策略。 若要了解详细信息,请参阅 构建和发布保留策略