清理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. 使用 Web 门户

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

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

文件

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

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

Team Foundation 版本控制内容

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

测试附件

测试运行期间创建的测试附件可以使用Azure DevOps Server Power Tools 附带的测试附件清理器进行清理。

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

XAML 生成

删除 Azure DevOps Server 中的生成时,会保留其生成的信息的子集,以避免下次重新生成仓库时丢失报告数据。 可以使用 tfsbuild.exe中的 destroy 命令以物理方式删除生成数据。

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