# 数据保留 {#data-retention}

Tuist 对上传的制品文件和用于仪表盘与洞察的记录应用独立的保留策略。删除过期的制品文件不会删除其关联的洞察记录。

对于制品文件，托管的 Tuist 服务器使用基于套餐的保留窗口，上限为 30 天。在自托管实例上，制品清理默认处于禁用状态，管理员可以选择启用并为每种支持的制品类型配置独立的保留窗口。

## 制品文件 {#artifact-files}

### 托管的 Tuist 服务器 {#hosted-artifact-files}

这些窗口定义了制品文件在托管的 Tuist 服务器上保留可用状态的时长。

| 制品 | Air 和开源版 | Pro | Enterprise |
| --- | --- | --- | --- |
| 缓存制品，包括 Xcode 缓存、模块缓存、Gradle 缓存、Bazel 远程缓存文件，以及来自 Tuist Runners 的 GitLab CI 缓存归档 | 14 天 | 30 天 | 30 天 |
| 应用预览构建产物和图标 | 30 天 | 30 天 | 30 天 |
| 构建归档 | 7 天 | 30 天 | 30 天 |
| 运行制品，包括结果包和会话归档 | 7 天 | 30 天 | 30 天 |
| 测试运行附件 | 30 天 | 30 天 | 30 天 |
| 分片包 | 7 天 | 14 天 | 30 天 |

有效的账户套餐决定了托管环境的保留窗口。如果账户没有有效订阅，Tuist 将使用 Air 保留窗口。某些制品类型的保留窗口较短，因为它们预期会被重新生成。

在 Tuist 记录测试运行标识符之前创建的测试附件不会被自动删除。在保留清理期间，为避免无限制的历史所有权查找，这些文件仍保持可用。

### 自托管实例 {#self-hosted-artifact-files}

自托管实例的构件清理功能需手动启用，可按构件类型分别配置，且不受 30 天上限限制。请参阅<.localized_link href="/guides/server/self-host/server#artifact-retention">自托管构件保留配置</.localized_link>，了解支持的构件类型和部署选项。

## 仪表盘和活动数据 {#dashboard-and-activity-data}

仪表盘和活动记录的保留策略独立于制品文件清理。以下窗口不因托管套餐而异，包括 Enterprise。

### Xcode 构建和测试洞察 {#xcode-build-and-test-insights}

核心 Xcode 构建和测试记录目前没有固定的基于时间的删除计划。其他报告数据（如时间线步骤和机器指标）会单独过期：

| 数据 | 保留期限 |
| --- | --- |
| 构建摘要、按文件和按目标的构建记录，以及构建问题 | 无固定基于时间的删除计划 |
| 测试运行、模块和套件结果，以及单个测试结果 | 无固定基于时间的删除计划 |
| 构建时间线步骤及其捕获的日志 | 90 天 |
| 构建机器指标 | 90 天 |
| Xcode 项目图记录 | 30 天 |

这些记录与[制品文件保留窗口](#hosted-artifact-files)中涵盖的可下载构建归档、结果包和测试附件是分开的。在 Enterprise 套餐中，这些文件的保留期为 30 天；相关文件过期后，关联的构建和测试记录仍然可用。没有固定基于时间的删除计划的记录并不保证永久可用。

### 其他仪表盘和活动数据 {#other-dashboard-and-activity-data}

| 数据 | 保留期限 |
| --- | --- |
| Gradle 构建记录、任务记录、缓存事件记录、Mix 构建记录、编译文件记录、构建步骤记录和诊断信息、Cargo 构建记录（包括聚合编译缓存测量值）和编译器观察结果、Bazel 调用、Bazel 跟踪配置文件、索引配置文件步骤和操作诊断信息、待处理的 Bazel 配置文件和测试摄入记录、Bazel 调用日志，以及 Bazel 远程操作缓存观察结果 | 90 天 |
| 持久化模块详情页面中的 Xcode 模块编译和缓存历史 | 30 天 |
| 持久化详情页面中的任务、声明的 Once 操作、Bazel BEP 操作、编译文件和模块观察结果 | 90 天，上述 Xcode 模块除外 |
| 持久化任务/操作/模块/文件身份元数据 | 365 天无观察记录 |
| Runner 作业日志、归档的 Runner 日志，以及 Runner 作业机器指标 | 90 天 |
| Webhook 交付历史 | 无固定删除计划 |

持久化详情 URL 不依赖于特定构建保持可用。其身份元数据的寿命可能超过单个观察记录，因此详情页面在所选时间段内可能没有历史记录。新历史记录是从功能部署后收到的报告中索引的；现有的运行级历史记录不会回溯复制。

ClickHouse 的内部 `system.*` 操作日志表是在 ClickHouse 层配置的，而不是由 Tuist 的产品数据保留策略配置。默认情况下它们是无限制的；捆绑的自托管 Docker Compose 和嵌入式 Helm ClickHouse 配置可以限制它们，如<.localized_link href="/guides/server/self-host/server#capping-operational-log-retention">限制操作日志保留</.localized_link>中所述。
