Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Пул агентов — это коллекция агентов. Вместо управления каждым агентом по отдельности вы упорядочивайте агенты в пулы агентов. При настройке агента он регистрируется в одном пуле и при создании конвейера указывает пул, в котором выполняется конвейер. При запуске конвейера он выполняется на агенте из этого пула, который соответствует требованиям конвейера.
Примечание
Пулы агентов управляемых пулов DevOps управляются на портале Azure. Если вы используете управляемые пулы DevOps, см. статью "Создание первого управляемого пула DevOps".
В Azure Pipelines пулы относятся ко всей организации; таким образом, вы можете совместно использовать компьютеры агента в проектах.
В Azure DevOps Server пулы агентов относятся ко всему серверу; таким образом, вы можете совместно использовать компьютеры агента в проектах и коллекциях.
Примечание
Задания пула агентов выполняют задание на одном агенте. Если необходимо запустить задание для всех агентов, например группу развертывания для классических конвейеров выпуска, см. статью "Подготовка групп развертывания".
Если вы являетесь администратором организации, вы создаете пулы агентов и управляете ими на вкладке "Пулы агентов" в настройках администратора.
Войдите в свою организацию (https://dev.azure.com/{yourorganization}).
Выберите Azure DevOps, параметры организации.
Выберите пулы агентов.
Войдите в коллекцию проектов (http://your-server/DefaultCollection).
Выберите Azure DevOps, параметры коллекции.
Выберите пулы агентов.
Выберите Azure DevOps, параметры коллекции.
Выберите пулы агентов.
Если вы являетесь членом группы проектов, создайте пулы агентов и управляете ими на вкладке "Пулы агентов" в параметрах проекта.
Перейдите к проекту и выберите параметры проекта, пулы агентов.
Перейдите к проекту и выберите параметры проекта, пулы агентов.
Перейдите к проекту и выберите параметры проекта, пулы агентов.
Пулы агентов по умолчанию
Следующие пулы агентов предоставляются по умолчанию:
Пул по умолчанию : используйте его для регистрации локальных агентов , настроенных вами.
Размещенный пул Azure Pipelines с различными образами Windows, Linux и macOS. Полный список доступных образов и установленного программного обеспечения см. в разделе агентов, размещенных корпорацией Майкрософт.
Примечание
Размещенный пул Azure Pipelines заменяет предыдущие размещенные пулы с именами, сопоставленными с соответствующими изображениями. Все задания, которые были в предыдущих размещенных пулах, автоматически перенаправляются на правильный образ в новом размещенном пуле Azure Pipelines. В некоторых случаях имена старых пулов по-прежнему отображаются, но за кулисами выполняются размещенные задания с помощью пула Azure Pipelines. Дополнительные сведения см. в заметках о выпуске одного размещенного пула с заметками о выпуске 1 июля 2019 г. — Спринт 154.
По умолчанию все участники проекта являются членами роли пользователя в размещенных пулах. Это позволяет каждому участнику проекта создавать и запускать конвейеры с помощью агентов, размещенных корпорацией Майкрософт.
Чтобы выбрать агент, размещенный майкрософт, из пула Azure Pipelines в конвейере YAML Azure DevOps Services, укажите имя образа, используя метку образа виртуальной машины YAML из этой таблицы.
YAML
pool: vmImage:ubuntu-latest# This is the default if you don't specify a pool or vmImage.
Использование частного пула без требований:
YAML
pool:MyPool
Дополнительные сведения см. в схеме YAML для пулов.
Чтобы выбрать пул и агент в классическом редакторе, перейдите к параметрам конвейера, выберите нужный пул агентов, а затем нужный образ из раскрывающегося списка спецификации агента. Спецификация агента по умолчанию — windows-2019. Дополнительные сведения о программном обеспечении, установленном на образах, размещенных корпорацией Майкрософт, см. в соответствующей записи в столбце "Классический пул редакторов" из этой таблицы.
az pipelines pool list [--action {manage, none, use}]
[--detect {false, true}][--org][--pool-name]
[--pool-type {automation, deployment}]
Параметры
действие. Фильтрация списка с разрешенным действием пользователя. Принятые значения: управление, нет, используйте
обнаружение: автоматическое обнаружение организации. Принятые значения: false, true
организация или организация: URL-адрес организации Azure DevOps. Вы можете настроить организацию по умолчанию с помощью az devops configure -d organization=ORG_URL. Требуется, если не настроено как по умолчанию или выбрано с помощью конфигурации Git. Пример: https://dev.azure.com/MyOrganizationName/.
имя пула: отфильтруйте список с соответствующим именем пула.
тип пула: отфильтруйте список с типом пула. Допустимые значения: автоматизация, развертывание
Пример
В следующем примере перечислены все пулы в формате таблицы. В этом примере используется следующая конфигурация по умолчанию: az devops configure --defaults organization=https://dev.azure.com/fabrikam-tailspin project=FabrikamFiber
Azure CLI
az pipelines pool list --output table
ID Name Is Hosted Pool Type
---------------------------------------------------------1 Default False automation
2 Hosted True automation
3 Hosted VS2017 True automation
4 Hosted Windows 2019 with VS2019 True automation
5 Hosted Windows Container True automation
6 Hosted macOS True automation
7 Hosted macOS High Sierra True automation
8 Hosted Ubuntu 1604 True automation
9 Azure Pipelines True automation
10 MyAgentPool False automation
Отображение сведений о пуле агентов
Azure CLI
az pipelines pool show --id
[--action {manage, none, use}]
[--detect {false, true}][--org]
Параметры
идентификатор или идентификатор пула: (обязательный) идентификатор пула для перечисления сведений.
действие. Фильтрация списка с разрешенным действием пользователя. Принятые значения: управление, нет, используйте
обнаружение: автоматическое обнаружение организации. Принятые значения: false, true
организация или организация: URL-адрес организации Azure DevOps. Вы можете настроить организацию по умолчанию с помощью az devops configure -d organization=ORG_URL. Требуется, если не настроено как по умолчанию или выбрано с помощью конфигурации Git. Пример: https://dev.azure.com/MyOrganizationName/.
Пример
В следующем примере отображаются сведения о пуле для размещенного пула Windows 2019 с пулом VS2019. В этом примере используется следующая конфигурация по умолчанию: az devops configure --defaults organization=https://dev.azure.com/fabrikam-tailspin project=FabrikamFiber
Azure CLI
az pipelines pool show --id4
{
"agentCloudId": 1,
"autoProvision": true,
"autoSize": null,
<Some properties omitted for space>"poolType": "automation",
"properties": null,
"scope": "941fcaeb-be37-4309-b7b0-5cf156e1236e",
"size": 1,
"targetSize": 1
}
Вы также можете использовать --output table эти же сведения, что list и команда.
Azure CLI
az pipelines pool show --id4--output table
ID Name Is Hosted Pool Type
---------------------------------------------------------4 Hosted Windows 2019 with VS2019 True automation
Вывод списка очередей агента
Azure CLI
az pipelines queue list [--action {manage, none, use}]
[--detect {false, true}][--org][--project][--queue-name]
Параметры
действие. Фильтрация списка с разрешенным действием пользователя. Принятые значения: управление, нет, используйте
обнаружение: автоматическое обнаружение организации. Принятые значения: false, true
организация или организация: URL-адрес организации Azure DevOps. Вы можете настроить организацию по умолчанию с помощью az devops configure -d organization=ORG_URL. Требуется, если не настроено как по умолчанию или выбрано с помощью конфигурации Git. Пример: https://dev.azure.com/MyOrganizationName/.
project или p: Имя или идентификатор проекта. Вы можете настроить проект по умолчанию с помощью az devops configure -d project=NAME_OR_ID. Требуется, если не настроено как по умолчанию или выбрано с помощью конфигурации Git.
имя очереди: отфильтруйте список с соответствующим именем очереди regex, например ubuntu для очереди с именем Hosted Ubuntu 1604.
Пример
В следующем примере перечислены все очереди в формате таблицы. В этом примере используется следующая конфигурация по умолчанию: az devops configure --defaults organization=https://dev.azure.com/fabrikam-tailspin project=FabrikamFiber
Azure CLI
az pipelines queue list --output table
This command group is in preview. It may be changed/removed in a future release.
ID Name Pool IsHosted Pool Type
-------------------------------------------------------------11 Default False automation
12 Hosted True automation
13 Hosted VS2017 True automation
14 Hosted Windows 2019 with VS2019 True automation
15 Hosted Windows Container True automation
16 Hosted macOS True automation
17 Hosted macOS High Sierra True automation
18 Hosted Ubuntu 1604 True automation
19 Azure Pipelines True automation
Отображение сведений о очереди агента
Azure CLI
az pipelines queue show --id
[--action {manage, none, use}]
[--detect {false, true}][--org][--project]
Параметры
идентификатор или идентификатор очереди: идентификатор очереди агента для получения сведений.
действие. Фильтрация списка с разрешенным действием пользователя. Принятые значения: управление, нет, используйте
обнаружение: автоматическое обнаружение организации. Принятые значения: false, true
организация или организация: URL-адрес организации Azure DevOps. Вы можете настроить организацию по умолчанию с помощью az devops configure -d organization=ORG_URL. Требуется, если не настроено как по умолчанию или выбрано с помощью конфигурации Git. Пример: https://dev.azure.com/MyOrganizationName/.
project или p: Имя или идентификатор проекта. Вы можете настроить проект по умолчанию с помощью az devops configure -d project=NAME_OR_ID. Требуется, если не настроено как по умолчанию или выбрано с помощью конфигурации Git.
Пример
В следующем примере отображаются сведения о очереди для размещенной очереди Windows 2019 с очередью VS2019. В этом примере используется следующая конфигурация по умолчанию: az devops configure --defaults organization=https://dev.azure.com/fabrikam-tailspin project=FabrikamFiber
Azure CLI
az pipelines queue show --id14
{
"id": 14,
"name": "Hosted Windows 2019 with VS2019",
"pool": {
"id": 4,
"isHosted": true,
"isLegacy": true,
"name": "Hosted Windows 2019 with VS2019",
"poolType": "automation",
"scope": "941fcaeb-be37-4309-b7b0-5cf156e1236e",
"size": 1
},
"projectId": "16836457-4ce1-4e77-b97a-e7e0c6508e84"
}
Команды Интерфейса командной строки Azure DevOps не поддерживаются для Azure DevOps Server.
Если у вас есть много локальных агентов, предназначенных для разных команд или целей, может потребоваться создать дополнительные пулы, как описано ниже.
Создание пулов агентов
Ниже приведены некоторые типичные ситуации, когда может потребоваться создать локальные пулы агентов:
Вы являетесь членом проекта и хотите использовать набор компьютеров, принадлежащих вашей команде для выполнения заданий сборки и развертывания. Сначала убедитесь, что у вас есть разрешения на создание пулов в проекте, выбрав "Безопасность " на странице пулов агентов в параметрах проекта. Необходимо иметь роль администратора , чтобы иметь возможность создавать новые пулы. Затем нажмите кнопку "Добавить пул" и выберите параметр для создания нового пула. Наконец , установите и настройте агенты, чтобы быть частью этого пула агентов.
Вы являетесь участником команды обслуживания инфраструктуры и хотите настроить пул агентов для использования во всех проектах. Сначала убедитесь, что у вас есть разрешения на создание пулов в проекте, выбрав "Безопасность " на странице пулов агентов в параметрах организации. Затем создайте пул агентов и выберите параметр автоматической подготовки этого пула агентов во всех проектах при создании пула. Этот параметр гарантирует, что все проекты имеют доступ к этому пулу агентов. Наконец , установите и настройте агенты, чтобы быть частью этого пула агентов.
Вы хотите предоставить общий доступ к набору компьютеров агентов нескольким, но не всем проектам. Сначала перейдите к параметрам одного из проектов, добавьте пул агентов и выберите параметр для создания нового пула на уровне организации. Затем перейдите к каждому из остальных проектов и создайте пул в каждом из них при выборе варианта использования существующего пула агентов из организации. Наконец, установите и настройте агенты, которые должны быть частью пула общих агентов.
Вы являетесь членом проекта и хотите использовать набор компьютеров, принадлежащих вашей команде для выполнения заданий сборки и развертывания. Сначала убедитесь, что у вас есть разрешения на создание пулов в проекте, выбрав "Безопасность " на странице пулов агентов в параметрах проекта. Необходимо иметь роль администратора , чтобы иметь возможность создавать новые пулы. Затем нажмите кнопку "Добавить пул" и выберите параметр для создания нового пула. Наконец , установите и настройте агенты, чтобы быть частью этого пула агентов.
Вы являетесь участником команды обслуживания инфраструктуры и хотите настроить пул агентов для использования во всех проектах. Сначала убедитесь, что у вас есть разрешения на создание пулов в проекте, выбрав "Безопасность " на странице пулов агентов в параметрах коллекции Project. Затем создайте пул агентов и выберите параметр автоматической подготовки этого пула агентов во всех проектах при создании пула. Этот параметр гарантирует, что все проекты имеют доступ к этому пулу агентов. Наконец , установите и настройте агенты, чтобы быть частью этого пула агентов.
Вы хотите предоставить общий доступ к набору компьютеров агентов нескольким, но не всем проектам. Сначала перейдите к параметрам одного из проектов, добавьте пул агентов и выберите параметр для создания нового пула на уровне организации. Затем перейдите к каждому из остальных проектов и создайте пул в каждом из них при выборе варианта использования существующего пула агентов из организации. Наконец, установите и настройте агенты, которые должны быть частью пула общих агентов.
Вы являетесь членом проекта и хотите использовать набор компьютеров, принадлежащих вашей команде для выполнения заданий сборки и развертывания. Сначала убедитесь, что вы являетесь членом группы во всех пулах с ролью администратора . Затем создайте пул агента проекта в параметрах проекта и выберите параметр "Создать новый пул агентов организации". В результате будет создан пул агентов на уровне как организации, так и проекта. Наконец , установите и настройте агенты, чтобы быть частью этого пула агентов.
Вы являетесь участником команды обслуживания инфраструктуры и хотите настроить пул агентов для использования во всех проектах. Сначала убедитесь, что вы являетесь членом группы во всех пулах с ролью администратора . Затем создайте пул агентов организации в параметрах администратора и выберите параметр автоматической подготовки соответствующих пулов агентов проекта во всех проектах при создании пула. Этот параметр гарантирует, что у всех проектов будет пул, указывающий на пул агентов организации. Система создает пул для существующих проектов, и в будущем он будет делать это всякий раз, когда создается новый проект. Наконец , установите и настройте агенты, чтобы быть частью этого пула агентов.
Вы хотите предоставить общий доступ к набору компьютеров агентов нескольким, но не всем проектам. Сначала создайте пул агента проекта в одном из проектов и выберите параметр "Создать новый пул агентов организации" при создании этого пула . Затем перейдите к каждому из остальных проектов и создайте пул в каждом из них при выборе параметра использовать существующий пул агентов организации. Наконец, установите и настройте агенты, которые должны быть частью пула общих агентов.
Безопасность пулов агентов
Понимание принципов обеспечения безопасности для пулов агентов помогает управлять общим доступом к агентам и их использованием.
Роли определяются в каждом пуле агентов, а членство в этих ролях управляет операциями, которые можно выполнять в пуле агентов.
Параметры безопасности на уровне организации
Роль в пуле агентов в параметрах организации
Характер использования
Читатель
Члены этой роли могут просматривать пул агентов, а также агенты. Обычно это можно использовать для добавления операторов, ответственных за мониторинг агентов и их работоспособности.
Организация сервиса
Участники этой роли могут использовать пул агентов организации для создания пула агентов проекта в проекте. Если вы следуйте приведенным выше рекомендациям по созданию пулов агентов проекта, вам обычно не нужно добавлять участников.
Администратор
Помимо всех указанных выше разрешений, члены этой роли могут регистрировать или отменять регистрацию агентов из пула агентов организации. Они также могут обращаться к пулу агентов организации при создании пула агентов проекта в проекте. Наконец, они также могут управлять членством для всех ролей пула агентов организации. Пользователь, создавший пул агентов организации, автоматически добавляется в роль администратора этого пула.
Узел "Все пулы агентов" на вкладке "Пулы агентов " используется для управления безопасностью всех пулов агентов организации. Членство в роли для отдельных пулов агентов организации автоматически наследуется от узла "Все пулы агентов". По умолчанию администраторы TFS и Azure DevOps Server также являются администраторами узла "Все пулы агентов" при использовании TFS или Azure DevOps Server.
Параметры безопасности на уровне проекта
Роли также определяются в каждом пуле агентов проекта, а членство в этих ролях определяет, какие операции можно выполнять в пуле агентов на уровне проекта.
Роль в пуле агентов в параметрах проекта
Характер использования
Читатель
Участники этой роли могут просматривать пул агентов проекта. Обычно это позволяет добавлять операторы, отвечающие за мониторинг заданий сборки и развертывания в пуле агентов проекта.
User
Члены этой роли могут использовать пул агентов проекта при создании конвейеров.
Администратор
Помимо всех указанных выше операций члены этой роли могут управлять членством во всех ролях пула агентов проекта. Пользователь, создавший пул, автоматически добавляется к роли администратора для этого пула.
Разрешения конвейера
Разрешения конвейера определяют, какие конвейеры YAML разрешены для использования пула агентов. Разрешения конвейера не ограничивают доступ из классических конвейеров.
Доступны следующие параметры:
Откройте доступ ко всем конвейерам, чтобы использовать пул агентов из дополнительных параметров в правом верхнем углу раздела разрешений конвейера на вкладке безопасности пула агентов .
Блокировка пула агентов и разрешение использовать только выбранные конвейеры YAML. Если любой другой конвейер YAML относится к пулу агентов, возникает запрос авторизации, который должен быть утвержден администратором пула агентов. Это не ограничивает доступ из классических конвейеров.
Разрешения конвейера для пула агентов Azure Pipelines нельзя настроить, так как пул доступен по умолчанию для всех конвейеров.
Узел "Все пулы агентов" на вкладке "Пулы агентов " используется для управления безопасностью всех пулов агентов проекта в проекте. Членство в роли для отдельных пулов агентов проекта автоматически наследуется от узла "Все пулы агентов". По умолчанию в роль администратора узла "Все пулы агентов" добавляются следующие группы: администраторы сборки, администраторы выпуска администраторы проекта.
Действие безопасности на вкладке "Пулы агентов" используется для управления безопасностью всех пулов агентов проекта в проекте. Членство в роли для отдельных пулов агентов проекта автоматически наследуется от того, что вы определяете здесь. По умолчанию в роль администратора узла "Все пулы агентов" добавляются следующие группы: администраторы сборки, администраторы выпуска администраторы проекта.
Вопросы и ответы
Если я не запланируйте период обслуживания, когда агенты будут выполнять обслуживание?
Если окно не запланировано, агенты в этом пуле не будут запускать задание обслуживания.
Что такое задание обслуживания?
Пулы агентов можно настроить для периодической очистки устаревших рабочих каталогов и репозиториев. Это должно снизить вероятность того, что агенты не будут работать на диске. Задания обслуживания настраиваются на уровне организации в параметрах пула агентов.
Чтобы настроить параметры задания обслуживания, выполните следующие действия.
Войдите в свою организацию (https://dev.azure.com/{yourorganization}).
Выберите Azure DevOps, параметры организации.
Выберите пулы агентов.
Войдите в коллекцию проектов (http://your-server/DefaultCollection).
Выберите Azure DevOps, параметры коллекции.
Выберите пулы агентов.
Выберите Azure DevOps, параметры коллекции.
Выберите пулы агентов.
Выберите нужный пул и выберите параметры задания обслуживания для этого пула агентов.
Важно!
Для настройки параметров задания обслуживания необходимо иметь разрешение "Управление очередями сборки ". Если вкладка "Параметры" или вкладка "Журнал обслуживания" не отображается, у вас нет этого разрешения, которое по умолчанию предоставляется роли администратора. Дополнительные сведения см. в разделе "Безопасность пулов агентов".
Настройте нужные параметры и нажмите кнопку "Сохранить".
Выберите журнал обслуживания, чтобы просмотреть журнал заданий обслуживания для текущего пула агентов. Вы можете скачать и просмотреть журналы, чтобы просмотреть действия и действия по очистке.
Обслуживание выполняется на один пул агентов, а не на компьютер; Поэтому при наличии нескольких пулов агентов на одном компьютере могут возникнуть проблемы с пространством на диске.
Похоже, задание обслуживания моего пула локальных агентов зависло. Почему?
Как правило, задание обслуживания "зависает", когда ожидает выполнения в агенте, который больше не входит в пул агентов. Это происходит, например, когда агент намеренно отключается от сети или возникают проблемы при взаимодействии с ним.
Задания обслуживания, поставленные в очередь, будет ожидать выполнения семь дней. Если задания не будут выполнены по истечении этого периода, они будут автоматически переведены в состояние сбоя. Это ограничение по времени нельзя изменить.
Семидневное ограничение не следует путать с параметром времени ожидания задания обслуживания. Последнее определяет максимальное количество минут, которое агент может потратить на обслуживание. Таймер запускается при запуске задания, а не при постановке задания в очередь в агенте.
Я пытаюсь создать пул агентов проекта, использующий существующий пул агентов организации, но элементы управления неактивны. Почему?
В диалоговом окне "Создание пула агентов проекта" нельзя использовать существующий пул агентов организации, если он уже ссылается на другой пул агентов проекта. Каждый пул агентов организации можно ссылаться только одним пулом агентов проекта в заданной коллекции проектов.
Не удается выбрать размещенный в Майкрософт пул и поместить сборку в очередь. Как устранить эту проблему?
Попросите владельца организации Azure DevOps предоставить вам разрешение на использование пула. См. раздел Безопасность пулов агентов.
Мне нужны дополнительные размещенные ресурсы сборки. Что я могу сделать?
Ответ. Пул Azure Pipelines предоставляет все организации Azure DevOps с агентами сборки, размещенными в облаке, и бесплатными минутами сборки каждый месяц. Если вам нужны дополнительные ресурсы сборки, размещенные Корпорацией Майкрософт, или необходимо параллельно выполнять дополнительные задания, можно либо:
Присоединитесь к серии встреч для создания масштабируемых решений искусственного интеллекта на основе реальных вариантов использования с другими разработчиками и экспертами.
Администрирование инфраструктуры базы данных SQL Server для облачных, локальных и гибридных реляционных баз данных с помощью предложений реляционной базы данных Microsoft PaaS.