Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Службы Azure DevOps
Агенты, размещенные на GitHub, предоставляют виртуальные машины более высокой производительности для Azure Pipelines с оплатой по мере использования (PAYG). В отличие от агентов, размещенных в Microsoft, которые используют пул на основе параллелизма, агенты, размещенные в GitHub, тарифицируются поминутно и предлагают более мощные конфигурации машин. Стоимость зависит от операционной системы и размера используемого агента.
Необходимые условия
Чтобы включить агенты, размещенные GitHub, необходимо иметь следующие предварительные требования:
| Category | Требования |
|---|---|
| Permissions | Необходимо иметь разрешение на настройку параметров выставления счетов в организации Azure DevOps. Полный список необходимых разрешений см. в разделе "Управление выставлением счетов: предварительные требования". |
| Subscription | Подписка Azure в той же Microsoft Entra ID, что и ваша организация Azure DevOps. |
Включить оплату агентов, размещенных на GitHub
Агенты, размещенные в GitHub, используют оплату по мере использования. Плата взимается за каждую минуту времени выполнения конвейера в зависимости от размера машины. Сведения о ценах см. в разделе Цены на Azure DevOps.
Замечание
Агенты, размещённые на GitHub, не предоставляют бесплатный тариф или бесплатные минуты использования. Плата за все использование взимается в минуту. Эта модель оплаты по мере использования отличается от модели тарификации по числу параллельных заданий, используемой для агентов, размещаемых Майкрософт.
Если выставление счетов еще не включено в вашей организации Azure DevOps, сначала включите его, следуя инструкциям в Настройка выставления счетов для вашей организации.
Включите оплату по мере использования в настройках выставления счетов. Установите для параметра Enable GitHub-hosted agents значение On и выберите Save внизу страницы.
Используйте агент, размещённый на GitHub
Когда вы включаете выставление счетов по мере использования, Azure DevOps создаёт в вашей организации новый пул GitHub-hosted agents. Этот пул предлагает дополнительные метки изображений с поминутной оплатой.
Чтобы использовать агент, размещенный GitHub в конвейере YAML, настройте раздел pool со следующими свойствами:
-
name:'GitHub-hosted Agents' -
vmImage: метка образа виртуальной машины, которую вы хотите использовать. Список доступных меток образов см. в разделе образы агента, размещенные на GitHub.
pool:
name: 'GitHub-hosted Agents'
vmImage: 'macos-26-arm64'
steps:
- bash: |
echo Hello from macOS Tahoe arm64
uname -a
sw_vers
Дополнительные примеры:
pool:
name: 'GitHub-hosted Agents'
vmImage: 'macos-26-arm64-xl'
steps:
- bash: |
echo Hello from XL macOS Tahoe arm64
uname -a
hostinfo | grep memory
pool:
name: 'GitHub-hosted Agents'
vmImage: 'ubuntu-24.04-8-core'
steps:
- bash: |
echo Hello from Ubuntu 24.04 8 core
lsb_release -d
echo "# cores: $(nproc)"
free -h
- pwsh: |
Write-Host "`$PSVersionTable.OS"
$PSVersionTable.OS
Write-Host "Number of logical processors: $([Environment]::ProcessorCount)"
Get-Content /proc/meminfo | Select-String '^Mem(Total|Available):'
pool:
name: 'GitHub-hosted Agents'
vmImage: 'windows-2025-vs2026-16-core'
steps:
- pwsh: |
Write-Host "(Get-ComputerInfo).WindowsProductName"
Get-ComputerInfo | Select-Object WindowsProductName
Write-Host "`$PSVersionTable.OS"
$PSVersionTable.OS
Write-Host "Number of logical processors: $([Environment]::ProcessorCount)"
Write-Host "Installed memory (MB): $([Math]::Round((Get-ComputerInfo).CsTotalPhysicalMemory / 1MB))"
образы агентов, размещённые на GitHub
Агенты, размещённые в GitHub, предлагают более производительные конфигурации по сравнению со стандартными конфигурациями агента, размещённого в Microsoft configurations. Пул агентов, размещённых на GitHub предлагает следующие спецификации оборудования и образы виртуальных машин.
Агенты, размещённые на GitHub, предоставляют образы для следующих версий macOS:
| версия macOS | Включенное программное обеспечение |
|---|---|
| macOS 26 ARM 64 | Ссылка |
| macOS с Xcode 27 | Ссылка |
Замечание
Агенты macOS, размещённые в GitHub, всегда работают в США независимо от расположения вашей организации Azure DevOps.
Этот образ macOS может запускать конвейеры, используя следующие спецификации оборудования:
| Спецификация оборудования | виртуальный процессор (vCPU) | ОЗУ | Хранилище (SSD) | Architecture |
|---|---|---|---|---|
| Стандарт | 3 | 7 ГБ | 14 ГБ | arm64 (M1) |
| Очень большая | 5 (+ 8 аппаратное ускорение GPU) | 14 ГБ | 14 ГБ | арм64 (М2) |
Чтобы запустить конвейеры с помощью агента, размещенного GitHub, укажите метку образа, соответствующую требуемой спецификации операционной системы и оборудования из следующего списка:
| Операционная система (ОС) | Спецификация оборудования | Image | Метка образа виртуальной машины YAML |
|---|---|---|---|
| macOS 26 | Стандарт | macOS ARM64 | macos-26-arm64 |
| macOS 26 | Очень большая | macOS ARM64 XL | macos-26-arm64-xl |
| macOS с Xcode 27 | Стандарт | macOS ARM64 | xcode-27 |
| macOS с Xcode 27 | Очень большая | macOS ARM64 XL | xcode-27-xlarge |
Схема именования образов macOS на основе Xcode
С выпуском образа macOS с Xcode 27 Microsoft представила новое соглашение об именовании образов macOS. Каждое новое имя образа основано на основной версии Xcode, а не базовой операционной системе. Каждая версия образа поддерживает одну основную версию Xcode.
Эта модель именования позволяет разработчикам ориентироваться на нужную цепочку инструментов Apple. Это отражает то, что задания CI для macOS обычно определяют по требуемому тулчейну Xcode, а не по базовой операционной системе. Операционная система может измениться в течение времени существования образа. Чтобы просмотреть программное обеспечение, включенное в образ Xcode 27, включая версию операционной системы macOS, следуйте включенной ссылке на программное обеспечение для образа в предыдущей таблице.
Мониторинг использования
Вы можете отслеживать использование конвейера двумя способами: с помощью вкладки аналитики в пуле или с помощью Azure Cost Management.
Представление аналитики
В пуле агентов, размещённых на GitHub выберите вкладку Analytics. Выберите SKU агентов и период использования, который нужно отобразить. При выборе этого параметра отображается график и список основных проектов, использующих SKU выбранного агента. Вы можете перейти на уровень детализации проекта, а затем конвейера, чтобы увидеть задания, использующие SKU агента.
Управление затратами Azure
Чтобы отфильтровать использование конвейеров с оплатой по мере использования, выберите:
- Категория измерения: Azure DevOps
- Подкатегория счетчика: Azure Pipelines
- Единица измерения: 1/минута
Кроме того, вы можете отфильтровать следующие параметры:
- Тег:
_organizationname_ - Тег:
_projectname_
На следующем снимке экрана показан типичный режим анализа затрат в Azure Cost Management:
Нетворкинг
Агенты, размещенные в GitHub, имеют такие же сетевые возможности, как и агенты, размещенные в Microsoft.
Агенты, размещённые на GitHub, работают на той же инфраструктуре, что и более крупные раннеры GitHub Actions. Сетевой трафик между агентами, размещенными на GitHub, и вашими серверами проходит через публичную сеть.
Important
Вы не можете использовать частные подключения, такие как ExpressRoute или VPN для подключения GitHub размещенных агентов к корпоративной сети.
Безопасность
Агенты, размещённые в GitHub, имеют те же функции безопасности, что и агенты, размещённые в Microsoft.
Агенты, размещенные на GitHub, работают на изолированных виртуальных машинах, которые пересоздаются из образа после каждого задания. Каждый агент предназначен для одной организации, и каждая виртуальная машина размещает только один агент.
- Агенты не имеют общедоступных IP-адресов, поэтому внешние сущности не могут напрямую нацелить их.
- Каждое задание выполняется на недавно подготовленной виртуальной машине, поэтому данные между заданиями не сохраняются.
- Размещённые образы не соответствуют эталонным рекомендациям CIS по усилению защиты. Чтобы использовать CIS-усиленные образы, рассмотрите собственные агенты или управляемые пулы DevOps.
Возможности и ограничения
Агенты, размещённые в GitHub, имеют те же возможности и ограничения, что и агенты, размещённые в Microsoft, например новые виртуальные машины для каждого задания и образы, автоматически обновляемые до последней версии программного обеспечения, однако есть следующие ключевые различия.
Агенты, размещенные на GitHub:
- Предлагаются машины большего размера с большим количеством виртуальных процессоров, ОЗУ и дискового пространства, чем стандартные агенты, размещаемые Microsoft.
- Поминутная тарификация без бесплатного тарифа.
Сравнение параметров пула агентов
| Функция | Агенты, размещенные Microsoft | Агенты, размещённые на GitHub (PAYG) | Локальные агенты |
|---|---|---|---|
| Биллинг | Параллельные задания (на основе конкурентного выполнения) | В минуту (оплата по мере использования) | Собственная инфраструктура |
| Уровень "Бесплатный" | Да (ограниченно) | Нет | N/A |
| Размеры компьютера | Стандарт | Различные (крупнее, чем размещенные у Microsoft) | Обычай |
| Обслуживание | Автоматический | Автоматический | Руководство |
| Пользовательское программное обеспечение | Установка при запуске конвейера | Установка при запуске конвейера | Preinstalled |
| Корпоративная сеть | Нет прямого доступа | Нет прямого доступа | Прямой доступ |