如何衡量 GitHub Actions 的使用情况
对于自托管运行器和使用标准 GitHub 托管的运行器的公共存储库,GitHub Actions 的使用是免费的************。 请参阅“选择作业的运行器”。
对于专用存储库,每个 GitHub 帐户都会获得一定配额的免费分钟数、项目存储和缓存存储,用于 GitHub 托管运行器,具体配额取决于帐户的计划。 超出包含金额的任何使用量将计入你的帐户。
-
**分钟:** 每个计费周期开始时,免费分钟数将重置为完整金额。 分钟使用量将计入存储库所有者,而不是触发工作流运行的人员。 -
**存储:** 存储费用根据每小时使用情况累积在一个月中。 每个计费周期开始时,累积的存储费用重置为零。
提示
对存储库具有写入访问权限的任何人都可以运行作。 运行操作的任何费用都向仓库所有者计费。
存储计费的工作原理
GitHub Actions 存储计费采用按小时应计模型:
-
**持续计费:** 存储费用根据整个月份的实际使用情况每小时产生一次 -
**每月总计:** 您的帐单反映的是整个月份使用的存储总量,测量单位为GB-小时。 -
**包含的存储量:** 您计划中的免费存储容量(例如企业计划中的 50 GB)将转换为每小时的费率以进行计费计算 -
**共享存储:** Actions 工件、Actions 缓存和 GitHub Packages 存储均共用同一额度。 有关详细信息,请参阅“[AUTOTITLE](/billing/concepts/product-billing/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 字节
-
这也称为吉比特(GiB)
-
1 GB = 1,024 MB (MB)
**计费计算使用 GB-小时:** -
1 GB-Hour = 1 GB 的存储持续 1 小时
-
示例:将 3 GB 存储 10 天 = 720 GB-Hours(3 GB × 10 天× 24 小时)
每月账单将 GB-Hours 转换为 GB-Months,方法是将月份中的小时数除以(通常为 720 小时(30 天)。
自定义映像存储
对于 GitHub 托管的大型运行器,存储自定义映像的费用通过 GitHub Actions 的存储来计费。
自定义图像存储使用与其他 GitHub Actions 存储相同的每小时累积模型。 帐单基于一段时间内存储的图像数据量(以 GB-小时为单位)。
自定义映像的存储使用情况取决于:
- 每个映像版本的大小
- 保留的映像版本数
- 每个版本存储的时长
包含 snapshot 关键字的每个成功工作流作业都会创建新的自定义映像版本。 在版本被删除或由保留策略移除之前,每个保留的版本都会占用存储空间。 有关详细信息,请参阅 使用自定义映像 和 在企业中强制实施GitHub Actions策略。
自定义映像存储是基于随着时间保留的映像数据,而不是基于运行器使用或拉取现有映像的次数。
例如:
- 将一个 150 GB 自定义映像版本存储 24 小时将消耗 3,600 GB-小时。
- 将同一映像的 4 个 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 计划中。 在每个月初,帐户使用的分钟数重置为零。
数据 可重用.billing.操作包含的配额 %}
使用标准 GitHub托管的运行程序是免费的:
- 在公共存储库中
- 适用于 GitHub Pages
- 适用于 Dependabot
- 适用于 GitHub Copilot代码审核 中的智能体功能 (公共预览版)
注意
- 大型运行器始终会产生费用,即使由公共存储库使用或你的计划中有可用配额也是如此。
- 显示的存储量与 GitHub Packages 共享。 这意味着你在 Actions 制品、Actions 缓存和软件包中的总存储量不能超过你计划的额度。
使用量超出包含的配额
如果你的帐户未添加有效的付款方式,则配额用尽后将无法继续使用服务。 在你设置付款方式之前,始终会阻止使用大型执行程序。
支付额外的 GitHub Actions 使用费用
可以使用为 GitHub 帐户设置的付款方式支付超出配额的任何额外使用费用。 请参阅“管理付款和账单信息”。
对于 GitHub 托管的运行程序,存储量是根据整个月项目和缓存的每小时使用量计费的。 根据当月每个运行程序类型使用的总处理时间计算分钟数。
- 若要估算付费使用量的成本,请使用 GitHub 定价计算器。
- 若要查看当前成本,请参阅 查看按流量计费的产品和许可证的使用情况。
注意
计费仪表板可能会将 Actions 使用情况显示为美元金额(“支出”),而非原始分钟数。 此金额已反映任何适用的分钟成本。
基线分钟成本
GitHub 托管的每种类型的运行器,其每分钟成本由操作系统和处理能力决定。
例如,在 GitHub 托管的 Windows 和 macOS 运行程序上运行的作业的成本比 Linux 运行程序上运行的作业的成本更高。
| 操作系统 | 计费 SKU | 每分钟费率(美元) |
|---|---|---|
| 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 运行程序,托管运行程序的总操作分钟费用目前将为 38 美元。
- 5,000 (3,000 Linux 和 2,000 Windows) 分钟 = 38 美元 (18 美元 + 20 美元)。
- 3,000 分钟的 Linux 服务,每分钟 0.006 美元,总计 18 美元。
- 2,000 个 Windows 分钟,每分钟 0.010 美元,共计 20 美元。
工件存储成本计算示例
如果在 3 月 10 天内使用 3 GB 的项目存储,在 3 月 21 天内使用 12 GB 的项目存储,则项目存储使用情况将为:
- 3 GB x 10 天 x(每天 24 小时)= 720 GB-小时
- 12 GB x 21 天 x(每天 24 小时)= 6,048 GB-小时
- 720 GB-小时 + 6,048 GB-小时 = 6,768 GB-小时
- 6,768 GB-小时 / (每月 744 小时) = 9.0967 GB-月
月末,GitHub 会将你的项目存储量四舍五入到最接近的 MB。 因此,3 月的工件存储使用情况将为 9.097 GB。
注意
GitHub 会在 6 到 12 小时内更新您的制品存储空间。 如果删除项目,则可用空间将在下一次计划更新期间反映在帐户中。
缓存存储成本计算示例
如果在 3 月 10 天内使用 3 GB 缓存存储,3 月 21 天内使用 12 GB 的缓存存储,则缓存存储使用量将为:
| 使用量(GB) | 计费(GB-Hours) | 非收费(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% 时,你也会收到电子邮件通知。 有关详细信息,请参阅“预算和警报”。
其他阅读材料
-
[AUTOTITLE](/actions/get-started/understand-github-actions) -
[AUTOTITLE](/actions/get-started/quickstart)