GitHub Actions 使用方式的计量方式
GitHub Actions 使用对 自托管运行器 和对使用标准 GitHub 托管运行器的 公共仓库 是 免费 的。查看 选择作业的运行器。
对于 私有仓库,每个 GitHub 账户根据其套餐会获得一定额度的免费分钟数、制品存储和缓存存储,可用于 GitHub 托管的运行器。超出包含额度的任何使用都将计费到您的账户。
- 分钟数: 您的免费分钟数会在每个计费周期开始时恢复到完整额度。分钟使用费用由仓库所有者承担,而不是触发工作流运行的人员。
- 存储: 存储费用会根据每小时的使用情况在整个月内累计。累积的存储费用将在每个计费周期开始时重置为零。
提示
任何拥有仓库写入权限的人都可以运行 actions。运行 actions 的任何费用都计入仓库所有者。
存储计费工作原理
GitHub Actions 的存储计费采用 按小时累计模型
- 持续计费: 存储费用会根据您整个月的实际使用情况每小时累计
- 月度合计: 您的账单显示整个月使用的总存储量,以 GB-小时 为单位
- 包含额度: 您套餐的免费存储额度(例如企业套餐的 50 GB)会转换为每小时费率用于计费计算
- 共享存储: Actions 制品、Actions 缓存以及 GitHub Packages 存储共用同一池式额度。欲了解更多信息,请参见 GitHub Packages 计费。
理解当前存储与累计存储的区别
了解 GitHub 上显示的内容与账单上出现的内容之间的差异非常重要
- 当前存储: 您目前拥有的存储量
- 累计存储: 在计费周期内使用的存储总量(决定您的账单)
当您删除制品时
- 当前存储立即减少
- 未来的每小时费用停止累计
- 当前计费周期内已累计的存储仍保留在您的总额中,并会出现在账单上
示例(30 天计费周期): 如果您存放 10 GB 的制品 10 天,然后在第 11 天全部删除
- 第 1-10 天:每天累计 240 GB-小时(10 GB × 24 小时)
- 第 11 天:删除制品 → 当前存储降至 0 GB
- 第 11-30 天:累计 0 GB-小时(无存储)
- 您的账单:显示总计 2,400 GB-小时(10 天 × 240 GB-小时/天)
删除制品会降低您的当前存储并防止未来产生费用,但不会消除已记录的、在存储存在期间产生的费用。
存储计量单位
GitHub Actions 以 二进制千兆字节(GB) 为单位计量存储,其中
- 1 GB = 2^30 字节 = 1,073,741,824 字节
- 这也称为 gibibyte(GiB)
- 1 GB = 1,024 兆字节(MB)
计费计算使用 GB-小时
- 1 GB-小时 = 1 GB 存储使用 1 小时
- 示例:存储 3 GB 10 天 = 720 GB-小时(3 GB × 10 天 × 24 小时)
您的月度账单通过将 GB-小时除以当月的小时数(通常 30 天月份为 720 小时)将其转换为 GB-月。
自定义镜像存储
对于 GitHub 托管的大型运行器,自定义镜像的存储费用通过 GitHub Actions 存储计费。
自定义镜像存储采用与其他 GitHub Actions 存储相同的按小时累计模型。您的账单基于随时间存储的镜像数据量,以 GB-小时 为单位计量。
自定义镜像的存储使用取决于
- 每个镜像版本的大小
- 您保留的镜像版本数量
- 每个版本的存储时长
每个包含 snapshot 关键字的成功工作流作业都会创建一个新的自定义镜像版本。每个保留的版本会在其被删除或通过保留策略移除之前计入您的存储使用。欲了解更多信息,请参见 使用自定义镜像 和 在企业中对 GitHub Actions 强制实施策略。
自定义镜像存储基于随时间保留的镜像数据,而不是运行器使用或拉取现有镜像的次数。
例如
- 存储一个 150 GB 的自定义镜像版本 24 小时会使用 3,600 GB-小时。
- 存储同一镜像的四个 150 GB 版本 24 小时会使用 14,400 GB-小时。
使用计量示例
- 如果您在 Linux 运行器上运行工作流且耗时 10 分钟,则会使用仓库所有者配额中的 10 分钟。如果工作流生成了 10 MB 的制品,您还会使用仓库所有者的 10 MB 制品存储配额。
- 如果您运行的工作流通常需要 10 分钟,但因依赖不可用在第 5 分钟失败,则会使用仓库所有者配额中的 5 分钟。如果您修复问题并成功重新运行工作流,总共将使用仓库所有者的 15 分钟配额。
- 如果您运行的工作流生成了大量日志文件和冗长的作业摘要,这些文件不计入仓库所有者的制品存储配额。
- 缓存存储使用量按每小时的峰值使用量计量。每个仓库包含 10 GB 的使用量。若某小时内仓库的缓存峰值使用为 15 GB,则仓库所有者需为超过包含的 10 GB 的 5 GB 部分付费。仅当仓库的缓存存储限制设置高于包含额度时,仓库所有者才会被收费。
- 额外缓存存储费用为每 GiB 每月 $0.07。
GitHub Actions 免费使用
以下是您 GitHub 套餐中包含的标准运行器使用时间、制品存储和缓存存储量。每月初,账户使用的分钟数会重置为零。
| 计划 | 制品存储 | 分钟(每月) | 缓存存储 |
|---|---|---|---|
| GitHub 免费版 | 500 MB | 2,000 | 10 GB |
| GitHub 专业版 | 1 GB | 3,000 | 10 GB |
| GitHub 免费组织版 | 500 MB | 2,000 | 10 GB |
| GitHub 团队版 | 2 GB | 3,000 | 10 GB |
| GitHub 企业云 | 50 GB | 50,000 | 10 GB |
使用标准 GitHub 托管运行器是免费的
- 在公共仓库中
- 用于 GitHub Pages
- 用于 Dependabot
- 用于 GitHub Copilot 代码审查中的代理功能(公开预览)
注意
- 即使在公共仓库使用或套餐已有配额,使用大型运行器仍会收费。
- 所示的存储量与 GitHub Packages 共享。这意味着您在 Actions 制品、Actions 缓存和 Packages 的总存储量不能超过套餐中包含的额度。
使用超过包含的配额
如果您的账户没有有效的付款方式,一旦用尽配额,使用将被阻止。大型运行器的使用始终被阻止,直至您设置付款方式。
为额外的 GitHub Actions 使用付费
您使用的超过配额的部分将使用您在 GitHub 账户中设置的付款方式进行付费。请参阅 管理您的付款和账单信息。
对于 GitHub 托管的运行器,存储费用根据整个月内制品和缓存的每小时使用情况计费。分钟费用则根据每种运行器类型在本月的总处理时间计算。
- 要估算付费使用的费用,请使用 GitHub 定价计算器。
- 要查看当前费用,请参见 查看计量产品和许可证的使用情况。
注意
计费仪表板可能会以美元金额(“支出”)而非原始分钟数显示您的 Actions 使用情况。该金额已包含任何适用的分钟费用。
基础分钟费用
GitHub 托管的每种运行器都有由操作系统和处理能力决定的每分钟费用。
例如,在 GitHub 托管的 Windows 和 macOS 运行器上运行的作业比在 Linux 运行器上运行的作业费用更高。
| 操作系统 | 计费 SKU | 每分钟费率(USD) |
|---|---|---|
| Linux 1 核心 (x64) | actions_linux_slim | $0.002 |
| Linux 2 核心 (x64) | actions_linux | $0.006 |
| Linux 2 核心 (arm64) | actions_linux_arm | $0.005 |
| Windows 2 核心 (x64) | actions_windows | $0.010 |
| Windows 2 核心 (arm64) | actions_windows_arm | $0.010 |
| macOS 3 核心或 4 核心 (M1 或 Intel) | actions_macos | $0.062 |
欲了解不同类型运行器的分钟费用完整细节,请参见 Actions 运行器定价。
GitHub 托管运行器分钟费用计算示例
例如,如果您的组织使用 GitHub Team,在 GitHub 托管运行器上使用超出包含配额的 5,000 分钟(基于默认的 Linux 和 Windows 运行器),目前总计的 Actions 分钟费用约为 38 美元。
- 5,000(其中 3,000 Linux 分钟和 2,000 Windows 分钟)= 38 美元(18 美元 + 20 美元)。
- 3,000 Linux 分钟,按每分钟 0.006 美元计费 = 18 美元。
- 2,000 Windows 分钟,按每分钟 0.010 美元计费 = 20 美元。
制品存储费用计算示例
如果您在三月的前 10 天使用 3 GB 的制品存储,后 21 天使用 12 GB,则您的制品存储使用量为
- 3 GB × 10 天 ×(每天 24 小时)= 720 GB-小时
- 12 GB × 21 天 ×(每天 24 小时)= 6,048 GB-小时
- 720 GB-小时 + 6,048 GB-小时 = 6,768 GB-小时
- 6,768 GB-小时 ÷(每月 744 小时)= 9.0967 GB-月
月末,GitHub 会将您的制品存储量四舍五入到最近的 MB。因此,您三月的制品存储使用量为 9.097 GB。
注意
GitHub 会在 6 至 12 小时内更新您的制品存储使用量。删除制品可释放当前存储空间,但不会降低累计的存储使用量,该累计使用量用于计算当前计费周期的存储费用。
缓存存储费用计算示例
如果您在三月的前 10 天使用 3 GB 的缓存存储,后 21 天使用 12 GB,则您的缓存存储使用量为
| 使用量 (GB) | 计费 (GB-小时) | 不计费 (GB-小时) |
|---|---|---|
| 前 10 天的 3 GB | 0 GB-小时 | 720 GB-小时 |
| 接下来 21 天的 12 GB | 2 × 21 天 × 24 小时 = 1008 GB-小时 | 10 × 21 天 × 24 小时 = 5040 GB-小时 |
对于缓存存储,计费图表和报告仅显示超出包含的 10 GB 部分的费用。月末,Actions 缓存存储 SKU 将显示使用 1008 GB-小时。
管理 GitHub Actions 的预算
如果您的账户没有有效的付款方式,配额耗尽后将被阻止使用。
如果您已添加有效的付款方式,支出可能会被一个或多个预算限制。请检查为您的账户设置的预算,以确保它们符合您的使用需求。参阅设置预算以控制计量产品的支出。
您还可以在计费周期内,当您的 GitHub Actions 包含使用量达到 90% 和 100% 时收到电子邮件通知。欲了解更多信息,请参见 预算和警报。