# 工作流工件

了解如何将数据作为 GitHub Actions 工作流的工件进行存储并共享。

## 关于工作流程构件

构件是指在工作流程运行过程中产生的文件或文件集。 构件允许您在作业完成后保留数据，并与同一工作流程中的另一个作业共享该数据。 例如，在工作流程运行结束后，您可以使用构件保存您的构建和测试输出。

GitHub 提供了两个可用于上传和下载生成工件的操作：`upload-artifact`，以及 `download-artifact`GitHub Enterprise Server 上的。

常见成果物包括：

* 日志文件和核心转储文件
* 测试结果、失败和屏幕截图
* 二进制或压缩文件
* 压力测试性能输出和代码覆盖结果

## 构件与依赖项缓存

制品和缓存相似，因为它们都可以将文件存储在 GitHub 上，但两者的适用场景不同，不能相互替代。

* 如果您希望在多次工作流运行之间重复使用那些不经常变化的文件，例如包管理系统下载的依赖项、中间构建输出，或其他重新生成成本高昂的文件，请使用缓存。 缓存这些文件可以加快工作流运行的速度，但如果缓存不可用，作业应始终能够重新下载或重新生成这些文件。
* 如果要保存作业生成的文件，以在工作流运行结束后使用或查看文件（例如生成的二进制文件或生成日志），或者想要在工作流中的作业之间传递文件时，请使用项目。

有关依赖项缓存的详细信息，请参阅“[依赖项缓存参考](/zh/enterprise-server@3.22/actions/reference/workflows-and-actions/dependency-caching)”。

## 已删除的工作流运行记录中的产物

删除某个工作流运行时，也会从存储中删除与该运行关联的所有工件。 可以使用 GitHub Actions UI、REST API 或使用 GitHub CLI 删除工作流运行，请参阅“[删除工作流程运行](/zh/enterprise-server@3.22/actions/how-tos/manage-workflow-runs/delete-a-workflow-run)”、[删除工作流运行](/zh/enterprise-server@3.22/rest/actions/workflow-runs?apiVersion=2022-11-28#delete-a-workflow-run)或 [gh run delete](https://cli.github.com/manual/gh_run_delete)。