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

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

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

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

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

Примечание.

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

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

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

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

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

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

    Перейдите на вкладку

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

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

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

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

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

  1. Выберите Azure DevOps, параметры коллекции.

    Параметры коллекции, 2019.

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

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

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

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

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

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

Перейдите к проекту и выберите параметры проекта, пулы агентов (2020).

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

Перейдите к проекту и выберите параметры проекта, пулы агентов (2019).

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

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

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

    Примечание.

    Размещенный пул Azure Pipelines заменяет предыдущие размещенные пулы с именами, сопоставленными с соответствующими изображениями. Все задания, которые были в предыдущих размещенных пулах, автоматически перенаправляются на правильный образ в новом размещенном пуле Azure Pipelines. В некоторых случаях имена старых пулов по-прежнему отображаются, но за кулисами выполняются размещенные задания с помощью пула Azure Pipelines. Дополнительные сведения см. в заметках о выпуске одного размещенного пула с заметками о выпуске 1 июля 2019 г. — Спринт 154.

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

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

Чтобы выбрать агент, размещенный майкрософт, из пула Azure Pipelines в конвейере YAML Azure DevOps Services, укажите имя образа, используя метку образа виртуальной машины 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. Выберите Azure DevOps, параметры организации.

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

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

    Перейдите на вкладку

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

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

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

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

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

  1. Выберите Azure DevOps, параметры коллекции.

    Параметры коллекции, 2019.

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

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

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

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

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

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

Перейдите к проекту и выберите параметры проекта, пулы агентов (2020).

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

Перейдите к проекту и выберите параметры проекта, пулы агентов (2019).

Пулы используются для запуска заданий. Изучите информацию об указании пулов для заданий.

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

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

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

  • Вы являетесь членом проекта и хотите использовать набор компьютеров, принадлежащих вашей команде для выполнения заданий сборки и развертывания. Сначала убедитесь, что у вас есть разрешения на создание пулов в проекте, выбрав "Безопасность " на странице пулов агентов в параметрах проекта. Для создания новых пулов необходимо иметь роль Администратор istrator. Затем нажмите кнопку "Добавить пул" и выберите параметр для создания нового пула. Наконец , установите и настройте агенты, чтобы быть частью этого пула агентов.

  • Вы являетесь участником команды обслуживания инфраструктуры и хотите настроить пул агентов для использования во всех проектах. Сначала убедитесь, что у вас есть разрешения на создание пулов в проекте, выбрав "Безопасность " на странице пулов агентов в параметрах организации. Затем создайте пул агентов и выберите параметр автоматической подготовки этого пула агентов во всех проектах при создании пула. Этот параметр гарантирует, что все проекты имеют доступ к этому пулу агентов. Наконец , установите и настройте агенты, чтобы быть частью этого пула агентов.

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

  • Вы являетесь членом проекта и хотите использовать набор компьютеров, принадлежащих вашей команде для выполнения заданий сборки и развертывания. Сначала убедитесь, что у вас есть разрешения на создание пулов в проекте, выбрав "Безопасность " на странице пулов агентов в параметрах проекта. Для создания новых пулов необходимо иметь роль Администратор istrator. Затем нажмите кнопку "Добавить пул" и выберите параметр для создания нового пула. Наконец , установите и настройте агенты, чтобы быть частью этого пула агентов.

  • Вы являетесь участником команды обслуживания инфраструктуры и хотите настроить пул агентов для использования во всех проектах. Сначала убедитесь, что у вас есть разрешения на создание пулов в проекте, выбрав "Безопасность " на странице пулов агентов в параметрах коллекции Project. Затем создайте пул агентов и выберите параметр автоматической подготовки этого пула агентов во всех проектах при создании пула. Этот параметр гарантирует, что все проекты имеют доступ к этому пулу агентов. Наконец , установите и настройте агенты, чтобы быть частью этого пула агентов.

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

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

  • Вы являетесь участником команды обслуживания инфраструктуры и хотите настроить пул агентов для использования во всех проектах. Сначала убедитесь, что вы являетесь членом группы во всех пулах с ролью Администратор istrator. Затем создайте пул агентов организации в параметрах администратора и выберите параметр автоматической подготовки соответствующих пулов агентов проекта во всех проектах при создании пула. Этот параметр гарантирует, что у всех проектов будет пул, указывающий на пул агентов организации. Система создает пул для существующих проектов, и в будущем он будет делать это всякий раз, когда создается новый проект. Наконец , установите и настройте агенты, чтобы быть частью этого пула агентов.

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

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

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

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

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

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

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

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

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

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

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

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

Доступны следующие параметры:

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

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

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

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

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

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

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

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

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

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

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

Чтобы настроить параметры задания обслуживания, выполните следующие действия.

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

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

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

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

    Перейдите на вкладку

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

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

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

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

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

  1. Выберите Azure DevOps, параметры коллекции.

    Параметры коллекции, 2019.

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

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

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

Внимание

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

Параметры задания обслуживания

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

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

Журнал заданий обслуживания

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

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

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

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

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

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

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

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

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

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

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