内容提要
Azure Pipelines 正式推出 GitHub 托管代理与按量付费,新增 macOS、Linux、Windows 多种规格(含 Apple 芯片),按分钟计费,无需预购并行作业。启用后新建代理池,现有流水线不变,可在分析页和 Azure 成本管理中监控用量与费用。
延伸解读
计费模式与并行作业的区别
GitHub 托管代理采用按分钟计费,无需预购并行作业容量,且不消耗现有并行作业。这与 Microsoft 托管代理的并行作业计费模式相互独立。但需注意,GitHub 托管代理没有免费额度,所有使用均会产生费用。现有流水线默认继续使用原代理池,只有显式更新才会切换。
可用规格与区域限制
新代理提供 macOS、Linux 和 Windows 多种规格,包括 Apple 芯片(M1、M2)和更大内存的 Linux/Windows 机器。部分镜像(如 ubuntu-26.04 和 windows-2025 系列)仍在逐步推出,并非所有组织立即可用。代理运行区域与 Microsoft 托管代理相同,选择时需考虑区域覆盖。
启用与成本监控
启用 GitHub 托管代理需要组织计费设置权限,开启后 Azure DevOps 会创建新代理池,配置最多需 24 小时。启用本身不会改变现有流水线或触发任务,只有实际运行才计费。用量可在代理池的分析选项卡查看,费用则通过 Azure 成本管理监控,支持按组织、项目筛选并设置预算告警。
Q&A
Azure Pipelines 的 GitHub 托管代理是什么?
GitHub 托管代理是 Azure Pipelines 中新增的代理池,与现有的 Microsoft 托管代理池互补。它运行在与 GitHub Actions 相同的基础设施上,提供更多硬件配置,包括原生 Apple 芯片和更大的 Linux/Windows 机器。每个作业在全新的隔离虚拟机上运行,作业完成后虚拟机重新镜像。
GitHub 托管代理的按量付费是如何计费的?
按量付费根据所选代理 SKU 按管道执行分钟数计费。无需预购并行作业容量,GitHub 托管代理作业不消耗现有并行作业。没有免费层或免费分钟分配。费率因 SKU 而异,例如 macOS 标准 $0.062/分钟,Linux 8 核 $0.022/分钟,Windows 16 核 $0.082/分钟。
如何启用 GitHub 托管代理?
需要有权配置组织计费设置。在 Azure DevOps 组织中,转到 Organization settings > Billing,将 Enable GitHub-hosted agents 设为 On,然后选择 Save。Azure DevOps 会为组织预配一个新的 GitHub-hosted Agents 池,预配最多需要 24 小时。启用池不会更改现有管道或启动作业,只有管道在 GitHub 托管代理上运行时才会产生费用。
如何在管道中使用 GitHub 托管代理?
在管道中设置池名称为 'GitHub-hosted Agents',并选择与所需操作系统和 SKU 匹配的 VM 映像标签。例如,使用标准 macOS 代理:pool: name: 'GitHub-hosted Agents' vmImage: 'macos-26-arm64'。类似地,可以使用 'ubuntu-24.04-8-core' 或 'windows-2025-16-core' 等标签。
GitHub 托管代理提供哪些 SKU 和规格?
提供 macOS、Linux 和 Windows 的多种 SKU。macOS 标准:3 vCPU,7 GB RAM,14 GB SSD,arm64 (M1),$0.062/分钟;macOS XLarge:5 vCPU + 8 GPU 核心,14 GB RAM,14 GB SSD,arm64 (M2),$0.102/分钟;Linux 8 核:8 vCPU,32 GB RAM,300 GB SSD,$0.022/分钟;Linux 16 核:16 vCPU,64 GB RAM,600 GB SSD,$0.042/分钟;Windows 8 核:8 vCPU,32 GB RAM,300 GB SSD,$0.042/分钟;Windows 16 核:16 vCPU,64 GB RAM,600 GB SSD,$0.082/分钟。
如何监控 GitHub 托管代理的使用量和成本?
可以在 GitHub-hosted Agents 池的 Analytics 选项卡中监控使用量,查看消耗的分钟数,并按代理 SKU、项目和管道进行筛选。按量付费的使用量也可在 Azure 成本管理中查看,可以按 Azure DevOps 组织和项目筛选成本,并使用预算和警报来跟踪支出。