github 容器注册表和 github 工件 space 有什么区别?

What is the difference between github container registry and github artifact space?

我上传了很多 GitHub 个工件,导致 GitHub 免费存储 space (50 GB) 到 运行。
这些文物中的大多数都是复制品或有非常小的改动。

假设这些存储在层中作为与父图像的差异(例如存储 docker 图像),50 GB 的 space 不太可能 运行。

每次工作流程 运行 时,GitHub 工件是否存储为单独的文件?
GitHub 个包是否以相同的方式存储?
包和工件的存储是否相同?

GitHub 的工件通常链接到:

  • 发布:工件可能是“资产”的另一个术语:与特定 GitHub 发布相关的文件(例如,参见 Update a release asset)。
  • workflow artifacts:工件是在工作流程 运行 期间生成的文件或文件集合。它允许您在作业完成后保留数据,并与同一工作流中的另一个作业共享该数据。
    正如 Edward Thomson(来自 GitHub)指出的那样:“因为它们旨在用于在工作流中的作业之间移动数据,所以 工作流资产不是永久性的 ” .

GitHub Container Registry 专用于存储和管理 Docker 和 OCI 图像。

只有后者受益于分层增量存储。
前者将作为每个文件的全部上传。

来自以下评论:

  • 向 GHCR (GitHub Container Registry) 进行身份验证并将映像推送到注册表 (docker push ghcr.io/OWNER/IMAGE_NAME:tag) 的工作流将受益于逐层增量存储。
  • 这与常规资产上传不同,在常规资产上传中,工件作为一个整体存储。