Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Службы Azure DevOps
Агенты, размещенные на GitHub, предоставляют виртуальные машины более высокой производительности для Azure Pipelines с оплатой по мере использования (PAYG). В отличие от агентов, размещенных в Microsoft, которые используют пул на основе параллелизма, агенты, размещенные в GitHub, тарифицируются поминутно и предлагают более мощные конфигурации машин. Стоимость зависит от операционной системы и размера используемого агента.
Important
Эта функция развертывается и может быть недоступна во всех регионах. Чтобы проверить, развернута ли эта возможность в вашем регионе, откройте страницу выставления счетов Azure DevOps и найдите параметр GitHub-hosted agents.
Эта функция сейчас доступна в предварительной версии. Это может измениться до общего доступа.
Необходимые условия
Чтобы включить агенты, размещенные 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
образы агентов, размещённые на GitHub
Агенты, размещённые в GitHub, предлагают более производительные конфигурации по сравнению со стандартными конфигурациями агента, размещённого в Microsoft configurations. Пул агентов, размещённых на GitHub предлагает следующие спецификации оборудования и образы виртуальных машин.
Important
Во время общедоступной предварительной версии организации ограничены восемью агентами Standard и восемью агентами XLarge, размещёнными в GitHub. Если для одной спецификации оборудования в очередь ставится более восьми заданий конвейера, первые восемь заданий выполняются, а остальные остаются в очереди до завершения первых заданий. Если вам требуется более восьми агентов для одной конфигурации оборудования в рамках общедоступной предварительной версии, создайте обращение в службу поддержки.
Агенты, размещенные на GitHub, предоставляют образы для следующих версий macOS:
| версия macOS | Включенное программное обеспечение |
|---|---|
| macOS 26 ARM 64 | Ссылка |
| macOS с XCode 27 (общедоступная предварительная версия) | Ссылка |
Замечание
Образ Xcode 27 будет поэтапно внедряться в пуле агентов, размещаемых GitHub, в ближайшие несколько недель. Если вы не видите изображение в вашей организации, проверьте его позже.
Этот образ 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 with Xcode 27 (public preview) 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 |
| Размеры компьютера | Стандартный (2 виртуальных ЦП, 7 ГБ ОЗУ) | Различные (крупнее, чем размещенные у Microsoft) | Обычай |
| Обслуживание | Автоматический | Автоматический | Руководство |
| Пользовательское программное обеспечение | Установка при запуске конвейера | Установка при запуске конвейера | Preinstalled |
| Корпоративная сеть | Нет прямого доступа | Нет прямого доступа | Прямой доступ |