清理Azure DevOps Server中的旧数据
Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018
随着时间的推移,Azure DevOps Server实例可以生成非常大的数据量,包括文件、生成、工作项等。 在项目的生存期内,此数据作为生成软件所涉及的各种项目的历史记录是有价值的。 最终,维护旧数据所涉及的成本(包括性能影响和升级花费的时间增加,以及磁盘空间需求增加)可能超出优势。
本文提供有关清理各种不同类型的数据的指南,主要来自Azure DevOps Server集合数据库。
请注意,清理后,任何SQL数据文件的大小都不会减少,因为SQL Server将保留空间以供将来使用。
重要
在以下所有情况下,一旦清理数据, 则无法恢复 数据,但还原数据库备份除外。 请务必仅清理你确定不再需要的数据。
先决条件
若要执行这些过程,需要具有高度权限的用户,通常是Project集合或Project管理员组的成员。
项目
如果不再需要整个项目,则删除它们可能会产生很大影响,因为这将删除项目在所有功能区域中的所有内容。 可通过两种方式删除项目:
使用 Web 门户。
使用安装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 命令以物理方式删除生成数据。
此外,还可以为生成和发布管道设置保留策略。 若要了解详细信息,请参阅生成和发布保留策略。