Настройка и оплата параллельных заданий

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | Team Foundation Server 2018 — Team Foundation Server 2015

в этой статье описывается модель лицензирования для Azure Pipelines в Team Foundation Server 2017 (TFS 2017) или более поздней версии. Мы не будем взимать плату за Team Foundation Build (TFBuild), если у вас есть клиентская лицензия TFS (CAL).

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

Одно бесплатное параллельное задание включается в каждую коллекцию в Team Foundation Server. каждый подписчик Visual Studio Enterprise в Team Foundation Server участвует в одном дополнительном параллельном задании.

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

Важно!

начиная с Azure DevOps Server 2019, вам не нужно платить за самостоятельные параллельные задания в выпусках. Ограничение ограничивается только количеством доступных агентов.

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

Примечание

Мы временно отключили бесплатную предоставление параллельных заданий для общедоступных проектов и для определенных частных проектов в новых организациях. Однако вы можете запросить это предоставление, отправив запрос. Существующие организации и проекты не затрагиваются. Обратите внимание, что для ответа на ваши запросы уровня Free требуется 2-3 рабочих дней.

Что такое параллельное задание?

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

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

Ориентированные на собственные параллельные задания Майкрософт

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

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

Сколько стоит параллельных заданий?

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

Для параллельных заданий, размещенных в Майкрософт, можно получить до 10 бесплатных параллельных заданий, которые могут выполняться в течение 360 минут (6 часов) каждый раз для общедоступных проектов. при создании новой Azure DevOpsной организации вы не назначаете этот бесплатный предоставление по умолчанию.

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

Чтобы запросить бесплатную субсидию для общедоступных или частных проектов, отправьте запрос.

Примечание

Ответ на ваш запрос на бесплатный уровень занимает 2-3 рабочих дней.

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

Число параллельных заданий Временной предел
Public project (Общедоступный проект) До 10 бесплатных параллельных заданий, размещенных корпорацией Майкрософт, которые могут выполняться в течение 360 минут (6 часов) каждый раз. Нет общего временного ограничения в месяц
Частный проект Одно бесплатное задание, которое может выполняться до 60 минут каждый раз 1 800 минут (30 часов) в месяц

Если уровень Free больше не достаточен, можно заплатить за дополнительную емкость для каждого параллельного задания. дополнительные сведения о ценах на параллельное задание см. на странице цен на Azure DevOps. Оплачиваемые параллельные задания удаляют ежемесячное ограничение по времени и позволяют выполнять каждое задание в течение 360 минут (6 часов).

Приобретение параллельных заданий, размещенных корпорацией Майкрософт.

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

Совет

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

Требуется ли выполнять параллельные задания в TFS 2015? Короткий ответ: нет. Дополнительные сведения

Сколько параллельных заданий требуется?

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

Просмотр журнала заданий с помощью отчета о потреблении пула

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

Исторический график пула агентов, размещенных в Майкрософт

Непосредственная проверка параметра параллельных заданий

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

  1. перейдите к параметрам организации > Pipelines > хранение и параллельное задание > параллельные задания.

    Расположение параллельных заданий в параметрах Организации.

    Пример URL-адреса: https://{your_organization}/_admin/_buildQueue?_a=resourceLimits

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

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

Оценка затрат

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

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

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

Разделы справки купить больше параллельных заданий?

Для приобретения параллельных заданий:

Покупка параллельных заданий

Приобретите более параллельные задания в параметрах Организации:

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

  2. Выберите  значок шестеренки Параметры организации.

    Открыть параметры Организации

  3. выберите параллельные задания в разделе Pipelines, а затем выберите либо приобрести параллельные задания для заданий, размещенных корпорацией майкрософт, либо изменить для самостоятельно размещенных заданий.

    Управление изображением параллельных заданий

  4. Введите нужную сумму, а затем Сохраните.

дополнительные сведения о ценах на параллельное задание см. на странице цен на Azure DevOps.

Разделы справки изменить количество параллельных заданий для моей организации?

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

  2. Выберите  значок шестеренки Параметры организации.

    Открыть параметры Организации

  3. выберите параллельные задания в разделе Pipelines, а затем выберите либо приобрести параллельные задания , либо изменить для заданий, размещенных корпорацией майкрософт, либо изменить для собственных заданий.

    изображение управления параллельными заданиями

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

Важно!

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

Как параллельное задание потребляется в DevOps Services?

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

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

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

Простой пример параллельных заданий

  1. Сначала запускается сборка FabrikamFiber CI 102 (Главная ветвь).
  2. Развертывание FabrikamFiber выпуска 11 запускается путем завершения FabrikamFiber CI build 102.
  3. Активируется сборка FabrikamFiber CI 101 (branch компонентов). Сборка не может быть запущена, так как развертывание выпуска 11 активно. Поэтому сборка остается в очереди.
  4. Выпуск 11 ожидает утверждения. Fabrikam CI Build 101 начинается, так как выпуск, ожидающий утверждения, не использует параллельное задание.
  5. Выпуск 11 утвержден. Он возобновляется только после завершения сборки 101 Fabrikam CI.

Как потребляется параллельное задание?

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

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

Простой пример параллельных заданий

  1. Сначала FabrikamFiber выпуск 10.
  2. Развертывание FabrikamFiber выпуска 11 начинается после завершения развертывания Release 10.
  3. Выпуск 12 помещается в очередь до тех пор, пока не будет активировано Развертывание выпуска 11.
  4. Выпуск 11 ожидает утверждения. Развертывание выпуска 12 начинается, поскольку выпуск, ожидающий утверждения, не использует параллельное задание.
  5. Хотя утверждение выпуска 11 утверждено, оно возобновляется только после завершения развертывания выпуска 12.
  6. Выпуск 11 ожидает вмешательства вручную. Запуск версии 13 не может быть начат, поскольку состояние вмешательства вручную требует параллельного задания.

Ручное вмешательство не использует задание в TFS 2017,1 и более поздних версиях.

Параллельная обработка в одном выпуске

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

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

Пример параллельных заданий с дополнительными агентами

Параллельные задания в Организации

Например, в Организации с несколькими серверами Team Foundation Server. у двух пользователей есть Visual Studio Enterprise подписки, которые они могут использовать одновременно на всех локальных серверах и в каждой коллекции до тех пор, пока клиент добавит их как пользователей на оба сервера, как описано ниже.

Пример параллельных заданий в Организации

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

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

Простая оценка

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

Подробная оценка

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

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

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

использование преимущества подписки Visual Studio Enterprise

пользователи, у которых есть Visual Studio Enterprise подписки, назначаются VS Enterprise уровню доступа в центре пользователей экземпляра TFS. Каждый из этих пользователей вносит в каждую коллекцию одно дополнительное параллельное задание. Это преимущество можно использовать на всех серверах Team Foundation в Организации.

  1. Перейдите к параметрам сервера, уровням доступа.

    сервер панели управления и уровни доступа предприятия

    Пример URL-адреса: http://{your_server}:8080/tfs/_admin/_licenses

  2. В левой части страницы щелкните VS Enterprise.

  3. добавьте пользователей, у которых есть Visual Studio Enterprise подписки.

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

Приобретение дополнительных параллельных заданий

если необходимо запустить более параллельные выпуски, можно приобрести дополнительные частные задания из Visual Studio marketplace. поскольку невозможно напрямую приобрести параллельные задания из Marketplace для экземпляра TFS в настоящее время, сначала необходимо купить параллельные задания для Azure DevOpsной организации. после приобретения частных заданий для Azure DevOpsной организации вручную введите число приобретенных параллельных заданий на странице ограничения ресурсов, описанные ниже.

Просмотр параллельных заданий и управление ими

  1. перейдите к параметрам коллекции, Pipelines, ограничениям ресурсов.

    Задать ограничения ресурсов

    Пример URL-адреса: http://{your_server}:8080/tfs/DefaultCollection/_admin/_buildQueue?_a=resourceLimits

  2. Просмотр или изменение числа приобретенных параллельных заданий.

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

Разделы справки определить уровень доступности общедоступных проектов?

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

  • ваш конвейер является частью Azure Pipelines общедоступного проекта.
  • ваш конвейер создает общедоступный репозиторий из GitHub или из того же общедоступного проекта в организации Azure DevOps.

Сведения о том, как обеспечить предоставление бесплатных параллельных заданий, см. в разделе сколько продается параллельных заданий (размещенных в Майкрософт)?

Можно ли назначить параллельное задание конкретному проекту или пулу агентов?

В настоящее время невозможно секционировать или выделить емкость параллельных заданий для конкретного проекта или пула агентов. Пример:

  • Вы приобретаете в Организации два параллельных задания.
  • Вы запускаете два запуска в первом проекте и обрабатываете оба параллельных задания.
  • Запуск выполняется во втором проекте. Это не запускается до тех пор, пока не завершится выполнение одного из запусков в первом проекте.

Существуют ли ограничения на то, кто может использовать Azure Pipelines?

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

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

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

как Visual Studio Enterprise подписчике я получаю дополнительные параллельные задания для TFS и Azure Pipelines?

Да. Visual Studio Enterprise подписчики получают одно параллельное задание в Team Foundation Server 2017 или более поздней версии и одно автономное параллельное задание в каждой Azure DevOps Services организации, в которой они являются членами.

Что насчет возможности оплаты размещенных агентов в течение минуты?

Некоторые из наших предыдущих клиентов по-прежнему находятся в поминутном плане для размещенных агентов. В этом плане вы платите за первые 20 часов в минуту после уровня Free, а затем — 20 0,01/мин. Из-за следующих ограничений плана можно перейти к модели параллельных заданий:

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

Я использую контроллеры сборки XAML совместно с моей организацией. Как взимается Цена за них?

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

Кто может использовать систему?

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

Для утверждения выпусков не требуется клиентская лицензия TFS. любой пользователь с доступом заинтересованных лиц может утверждать или отклонять выпуски.

Требуются ли для выполнения сборок в TFS параллельные задания?

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

Требуются ли параллельные задания для управления выпусками в версиях до TFS 2017?

Нет.

В TFS 2015 при условии, что у пользователей есть клиентская лицензия TFS, они могут управлять выпусками без дополнительной платы в режиме пробной версии. Мы назвали его "пробный режим", чтобы указать, что в конечном счете мы будем взимать плату за управление выпусками. Несмотря на эту метку, мы полностью поддерживаем Управление выпусками в TFS 2015.