Skip to main content

工作流项目

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

关于工作流程构件

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

GitHub 提供了两个可用于上传和下载生成工件的操作:上传工件下载工件

常见工件包括:

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

比较构件和依赖项缓存

构件与缓存类似,因为它们能够在 GitHub 上存储文件,但每项功能都提供不同的用例,不能互换使用。

  • 当想要重复使用在作业或工作流运行之间不频繁更改的文件时(例如从程序包管理系统构建依赖项),请使用缓存。
  • 如果要保存作业生成的文件,以在工作流运行结束后查看(例如生成的二进制文件或生成日志),请使用项目。

有关依赖项缓存的详细信息,请参阅“依赖项缓存参考”。

为生成生成项目证明

项目证明使你能够为自己构建的软件创建不可伪造的来源和完整性保证。 反过来,使用软件的人员可以验证软件是在哪里以及如何构建的。

使用软件生成项目证明时,将创建加密签名的声明用于确立生成的来源,并包含以下信息:

  • 指向与项目关联的工作流的链接
  • 项目的仓库、组织、环境、提交 SHA 以及触发事件
  • OIDC 令牌中用于确立来源的其他信息。 有关详细信息,请参阅“OpenID Connect”。

还可以生成包含关联的软件物料清单 (SBOM) 的项目证明。 将你的版本与它们中使用的开放源代码依赖项列表相关联可提供透明度,并使使用者能够遵守数据保护标准。

在生成运行后,可以在产生生成的项目列表下访问证明。

有关详细信息,请参阅“使用项目证明确立生成的来源”。

已删除的工作流运行中的工件

删除某个工作流运行时,也会从存储中删除与该运行关联的所有工件。 可以使用 GitHub Actions UI、REST API 或使用 GitHub CLI 删除工作流运行,请参阅“删除工作流程运行”、删除工作流运行gh run delete