Поделиться через


Создание пулов агентов и управление ими

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

Пул агентов — это коллекция агентов. Вместо управления каждым агентом по отдельности вы упорядочивайте агенты в пулы агентов. При настройке агента он регистрируется в одном пуле. При создании конвейера укажите пул, в котором выполняется конвейер. При запуске конвейера он выполняется на агенте из этого пула, который соответствует требованиям конвейера.

Пулы агентов управляемых пулов DevOps управляются на портале Azure. Если вы используете управляемые пулы DevOps, ознакомьтесь с кратким руководством по созданию пула.

В Azure Pipelines пулы относятся ко всей организации, поэтому вы можете совместно использовать компьютеры агентов в проектах.

В Azure DevOps Server пулы агентов находятся в пределах всего сервера, поэтому вы можете совместно использовать компьютеры агентов между проектами и коллекциями.

Задания пула агентов выполняют задание на одном агенте. Если необходимо запустить задание для всех агентов, например группу развертывания для классических конвейеров выпуска, см. статью "Подготовка групп развертывания".

Если вы являетесь администратором организации, вы создаете пулы агентов и управляете ими на вкладке "Пулы агентов " в параметрах администратора.

  1. Войдите в свою организацию (https://dev.azure.com/{yourorganization}).

  2. Выберитепараметры организации>.

    Снимок экрана: выбор параметров организации.

  3. Выберите пулы агентов.

    Снимок экрана, на котором показано, как выбрать вкладку пулов агентов.

  1. Войдите в коллекцию проектов (http://your-server/DefaultCollection).

  2. Выберитепараметры коллекции>.

    Снимок экрана: выбор параметров коллекции.

  3. Выберите пулы агентов.

    Выберите пулы агентов.

Снимок экрана, на котором показано, как перейти к пулам агентов и выбрать их.

Если вы являетесь членом группы проектов, создайте пулы агентов и управляете ими на вкладке "Пулы агентов " в параметрах проекта.

Перейдите в ваш проект и выберите параметры проекта>пулы агентов.

Снимок экрана: выбор параметра для пулов агентов.

Перейдите в ваш проект и выберите параметры проекта>пулы агентов.

Снимок экрана: выбор пулов агентов.

Пулы агентов по умолчанию

Следующие пулы агентов предоставляются по умолчанию:

  • Azure Pipelines: этот размещенный пул включает в себя множество образов Windows, Linux и macOS. Полный список доступных образов и установленного программного обеспечения см. в разделе агентов, размещенных корпорацией Майкрософт.

По умолчанию все участники проекта являются членами роли пользователя в размещенных пулах. Это назначение позволяет каждому участнику проекта создавать и запускать потоки с агентами, размещенными Microsoft.

Назначение пула в конвейере

Чтобы выбрать агент, размещенный Microsoft, из пула Azure Pipelines в конвейере YAML службы Azure DevOps, укажите название образа, используя метку образа виртуальной машины YAML из этой таблицы.

pool:
  vmImage: ubuntu-latest # This is the default if you don't specify a pool or vmImage.

Использование частного пула без требований:

pool: MyPool

Для получения дополнительной информации см. схему YAML для пулов.

Управление пулами и очередями

Администраторы организации создают пулы агентов и управляют ими на вкладке "Пулы агентов " в параметрах администратора.

  1. Войдите в свою организацию (https://dev.azure.com/{yourorganization}).

  2. Выберитепараметры организации>.

    Снимок экрана: выбор параметров организации.

  3. Выберите пулы агентов.

    Снимок экрана, на котором показано, как выбрать вкладку пулов агентов.

  1. Войдите в коллекцию проектов (http://your-server/DefaultCollection).

  2. Выберитепараметры коллекции>.

    Снимок экрана: выбор параметров коллекции.

  3. Выберите пулы агентов.

    Выберите пулы агентов.

Снимок экрана, на котором показано, как перейти к пулам агентов и выбрать их.

Участники группы проекта создают пулы агентов и управляют ими на вкладке "Пулы агентов " в параметрах проекта.

Перейдите в ваш проект и выберите параметры проекта>пулы агентов.

Снимок экрана: выбор параметра для пулов агентов.

Перейдите в ваш проект и выберите параметры проекта>пулы агентов.

Снимок экрана: выбор пулов агентов.

Чтобы удалить пул, перейдите в список пулов агентов и выберите пункт "Дополнительные параметры>удалить".

Снимок экрана: удаление пула агентов.

Пулы используются для запуска заданий. Узнайте об указании пулов для заданий.

Если у вас есть много локальных агентов, предназначенных для разных команд или целей, может потребоваться создать дополнительные пулы. Используйте следующие инструкции.

Создание пулов агентов

Ниже приведены некоторые типичные ситуации, когда может потребоваться создать локальные пулы агентов.

Вы являетесь членом проекта и хотите использовать набор компьютеров, принадлежащих вашей команде для выполнения заданий сборки и развертывания:

  1. Убедитесь, что у вас есть разрешения на создание пулов в проекте. В параметрах проекта перейдите в область пулов агентов и выберите "Безопасность". Чтобы создать новые пулы, необходимо иметь роль администратора .
  2. Выберите "Добавить пул" и выберите параметр для создания нового пула.
  3. Установите и настройте агентов, чтобы они стали частью нового пула агентов.

Вы являетесь членом группы инфраструктуры и хотите настроить пул агентов для использования во всех проектах:

  1. Убедитесь, что у вас есть разрешения на создание пулов в проекте. В параметрах организации перейдите в область пулов агентов и выберите "Безопасность".
  2. Создайте новый пул агентов и выберите параметр Автоматически развернуть этот пул агентов во всех проектах при создании пула. Этот параметр гарантирует, что все проекты имеют доступ к этому пулу агентов.
  3. Установите и настройте агентов, чтобы они стали частью нового пула агентов.

Вы хотите поделиться набором компьютеров агента с некоторыми, но не всеми проектами:

  1. Перейдите в раздел "Параметры " для одного из проектов. Добавьте пул агентов и выберите параметр для создания нового пула на уровне организации.
  2. Перейдите к другим проектам и создайте пул в каждом из них. Выберите "Использовать существующий пул агентов" из организации.
  3. Установите и настройте агентов, чтобы стать частью объединенного пула агентов.

Вы являетесь членом проекта и хотите использовать набор компьютеров, принадлежащих вашей команде для выполнения заданий сборки и развертывания:

  1. Убедитесь, что у вас есть разрешения на создание пулов в проекте. В параметрах проекта перейдите в область пулов агентов и выберите "Безопасность". Чтобы создать новые пулы, необходимо иметь роль администратора .
  2. Выберите "Добавить пул" и выберите параметр для создания нового пула.
  3. Установите и настройте агентов, чтобы они стали частью нового пула агентов.

Вы являетесь членом группы инфраструктуры и хотите настроить пул агентов для использования во всех проектах:

  1. Убедитесь, что у вас есть разрешения на создание пулов в проекте. В параметрах организации перейдите в область пулов агентов и выберите "Безопасность".
  2. Создайте новый пул агентов и выберите параметр Автоматически развернуть этот пул агентов во всех проектах при создании пула. Этот параметр гарантирует, что все проекты имеют доступ к этому пулу агентов.
  3. Установите и настройте агентов, чтобы они стали частью нового пула агентов.

Вы хотите поделиться набором компьютеров агента с некоторыми, но не всеми проектами:

  1. Перейдите в раздел "Параметры " для одного из проектов. Добавьте пул агентов и выберите параметр для создания нового пула на уровне организации.
  2. Перейдите к другим проектам и создайте пул в каждом из них. Выберите "Использовать существующий пул агентов" из организации.
  3. Установите и настройте агентов, чтобы стать частью объединенного пула агентов.

Безопасность пулов агентов

Когда вы понимаете, как безопасность работает для пулов агентов, вы можете лучше контролировать общий доступ и использование агентов.

Роли определяются в каждом пуле агентов. Членство в этих ролях определяет, какие операции можно выполнять в пуле агентов.

Параметры безопасности на уровне организации

Роль в пуле агентов в параметрах организации Цель
Reader Члены этой роли могут просматривать пул агентов и агентов. Обычно эта роль используется для добавления операторов, ответственных за контроль агентов и их состояния.
Сервисная учетная запись Участники этой роли могут использовать пул агентов организации для создания пула агентов проекта в проекте. Если вы следуйте приведенным выше рекомендациям по созданию пулов агентов проекта, обычно вам не нужно добавлять участников здесь.
Администратор Помимо всех указанных выше разрешений, члены этой роли могут регистрировать или отменять регистрацию агентов из пула агентов организации. Они также могут ссылаться на пул агентов организации, создавая пул агентов для проекта. Они также могут управлять членством во всех ролях пула агентов организации. Пользователю, создающему пул агентов организации, автоматически назначается роль администратора для этого пула.

Узел "Все пулы агентов" на вкладке "Пулы агентов" управляет безопасностью всех пулов агентов организации. Членство в роли для отдельных пулов агентов организации автоматически наследуется от узла всех пулов агентов. По умолчанию администраторы Azure DevOps Server также являются администраторами узла пулов всех агентов при использовании Azure DevOps Server.

Параметры безопасности на уровне проекта

Роли также определяются в каждом пуле агентов проекта. Членство в данных ролях определяет операции, которые вы можете выполнять в пуле агентов на уровне проекта.

Роль в пуле агентов в параметрах проекта Цель
Reader Участники этой роли могут просматривать пул агентов проекта. Обычно эта роль используется для добавления операторов, отслеживающих задания сборки и развертывания в этом пуле агентов проекта.
User Члены этой роли могут использовать пул агентов проекта при создании конвейеров.
Администратор Помимо всех указанных выше операций члены этой роли могут управлять членством во всех ролях пула агентов проекта. Пользователю, создающему пул агентов организации, автоматически назначается роль администратора для этого пула.

Разрешения конвейера

Разрешения конвейера определяют, какие конвейеры YAML разрешены для использования пула агентов. Права доступа конвейера не ограничивают доступ из классических конвейеров.

Выберите один из следующих процессов:

  • Откройте доступ ко всем конвейерам, чтобы они могли использовать пул агентов. Для этого перейдите в дополнительные параметры в правом верхнем углу раздела разрешения конвейера на вкладке безопасности пула агентов.
  • Ограничьте доступ к пулу агентов и разрешите использование только выбранных конвейеров YAML. Если любой другой конвейер YAML относится к пулу агентов, создается запрос авторизации, который должен утвердить администратор пула агентов. Этот процесс не ограничивает доступ из классических конвейеров.

Снимок экрана, показывающий работу с разрешениями в интерфейсе пользователя для пула агентов.

Невозможно настроить разрешения конвейера для пула агентов Azure Pipelines , так как пул доступен для всех конвейеров по умолчанию.

Действие "Безопасность " на вкладке "Пулы агентов" управляет безопасностью всех пулов агентов проекта в проекте. Членство в роли для пулов агентов в отдельных проектах автоматически наследуется из заданных здесь параметров. По умолчанию следующие группы добавляются в роль Администраторавсех пулов агентов: Администраторы сборки, Администраторы выпуска и Администраторы проектов.

Вопросы и ответы

Если я не запланирую период обслуживания, когда агенты выполняют обслуживание?

Если вы не запланируете временное окно, агенты в этом пуле не запускают задачу обслуживания.

Что такое задание обслуживания?

Пулы агентов можно настроить для периодической очистки устаревших рабочих каталогов и репозиториев. Этот процесс уменьшает риск исчерпания дискового пространства у агентов. Задания обслуживания настраиваются на уровне организации в параметрах пула агентов .

Настройка параметров задания обслуживания:

  1. Войдите в свою организацию (https://dev.azure.com/{yourorganization}).

  2. Выберитепараметры организации>.

    Снимок экрана: выбор параметров организации.

  3. Выберите пулы агентов.

    Снимок экрана, на котором показано, как выбрать вкладку пулов агентов.

  1. Войдите в коллекцию проектов (http://your-server/DefaultCollection).

  2. Выберитепараметры коллекции>.

    Снимок экрана: выбор параметров коллекции.

  3. Выберите пулы агентов.

    Выберите пулы агентов.

Снимок экрана, на котором показано, как перейти к пулам агентов и выбрать их.

Выберите нужный пул и выберите параметры задания обслуживания для этого пула агентов.

Внимание

Для настройки параметров задания обслуживания необходимо иметь разрешение "Управление очередями сборки ". Если вы не видите вкладки "Параметры " или "Журнал обслуживания ", у вас нет этого разрешения, которое по умолчанию имеет роль администратора . Дополнительные сведения см. в разделе "Безопасность пулов агентов".

Снимок экрана, на котором показаны параметры задания по обслуживанию.

Настройте нужные параметры и нажмите кнопку "Сохранить".

Выберите История обслуживания, чтобы просмотреть историю заданий обслуживания для текущего пула агентов. Вы можете скачать и просмотреть журналы, чтобы увидеть шаги очистки и принятые меры.

Снимок экрана: журнал заданий обслуживания.

Обслуживание выполняется для каждого пула агентов, а не для каждой машины. При наличии нескольких пулов агентов на одном компьютере могут возникнуть проблемы с пространством на диске.

Похоже, задание обслуживания моего пула самостоятельно размещенных агентов зависло. Почему?

Как правило, задание обслуживания зависает, когда ожидается запуск агента, который больше не находится в пуле агентов. Например, агент был целенаправленно отключен или возникли проблемы с его взаимодействием.

Задания обслуживания, находящиеся в очереди на выполнение, ждут семь дней перед запуском. Если они не выполняются в течение этого времени, они автоматически находятся в состоянии сбоя. Вы не можете изменить это ограничение времени.

Семидневное ограничение не следует путать с параметром времени ожидания задания обслуживания. Последнее определяет максимальное количество минут, которое агент может потратить на обслуживание. Таймер запускается при запуске задания, а не при постановке задания в очередь через агента.

Я пытаюсь создать пул агентов проекта, использующий существующий пул агентов организации, но элементы управления недоступны. Почему?

В диалоговом окне "Создание пула агентов проекта" нельзя использовать существующий пул агентов организации, если другой пул агентов проекта уже ссылается на него. На каждый пул агентов организации может ссылаться только один пул агентов проекта в рамках коллекции проектов.

Не удается выбрать размещенный в Майкрософт пул и поместить сборку в очередь. Как устранить эту проблему?

Попросите владельца организации Azure DevOps предоставить вам разрешение на использование пула. См. раздел Безопасность пулов агентов.

Мне нужны дополнительные размещенные ресурсы сборки. Что я могу сделать?

Пул Azure Pipelines предоставляет всем организациям Azure DevOps агенты сборки, размещенные в облаке, и бесплатные минуты сборки каждый месяц. Если вам нужны дополнительные ресурсы сборки, размещенные корпорацией Майкрософт, или необходимо параллельно выполнять дополнительные задания, то можно либо: