Настройка и оплата параллельных заданий
Azure DevOps Services | Azure DevOps Server 2022 г. - Azure DevOps Server 2019 г. | TFS 2018
В этой статье описывается модель лицензирования для Azure Pipelines в Team Foundation Server 2018 (TFS 2018) или более поздней версии. Мы не взимаем плату за сборку Team Foundation (TFBuild), если у вас есть клиентская лицензия (CAL) TFS.
Параллельное задание TFS позволяет запускать один выпуск за раз в коллекции проектов. В коллекции можно хранить сотни или даже тысячи заданий выпуска. Но для запуска нескольких выпусков одновременно требуется больше параллельных заданий.
Одно бесплатное параллельное задание включается в каждую коллекцию в Team Foundation Server. Каждый подписчик Visual Studio Enterprise в Team Foundation Server вносит еще одно параллельное задание.
Вы можете приобрести дополнительные частные задания в Visual Studio Marketplace. Существует максимальное ограничение в 25 параллельных заданий для агентов, размещенных в Майкрософт.
Важно!
Начиная с Azure DevOps Server 2019 г., вам не нужно платить за локальные параллельные задания в выпусках. Вы ограничены только количеством агентов, которые у вас есть.
Узнайте, как оценить необходимое количество параллельных заданий и приобрести дополнительные параллельные задания для организации.
Примечание
Мы временно отключили бесплатное предоставление параллельных заданий для общедоступных проектов и для определенных частных проектов в новых организациях. Но вы можете запросить такой доступ, отправив заявку. Существующие организации и проекты не будут затронуты. Учтите, что на обработку запросов по уровню "Бесплатный" может потребоваться 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 минут каждый раз | 1800 минут (30 часов) в месяц |
Если уровня "Бесплатный" больше недостаточно, вы можете платить за дополнительную емкость для каждого параллельного задания. Ценовую стоимость для параллельного задания см. на странице цен на Azure DevOps. Платные параллельные задания удаляют ежемесячное ограничение времени и позволяют выполнять каждое задание в течение 360 минут (6 часов).
Приобретение параллельных заданий, размещенных в Майкрософт.
В новых организациях установлено максимальное ограничение в 25 параллельных заданий для агентов, размещенных в Майкрософт. Обратитесь в службу поддержки , чтобы запросить увеличение лимита в зависимости от емкости в регионе вашей организации.
При покупке первого параллельного задания, размещенного в Корпорации Майкрософт, количество параллельных заданий в организации по-прежнему остается одним. Чтобы иметь возможность выполнять два задания одновременно, вам потребуется приобрести два параллельных задания, если вы в настоящее время используете уровень "Бесплатный". При первой покупке удаляются только временные ограничения для первого задания.
Совет
Если для конвейера превышено максимальное время ожидания задания, попробуйте разделить конвейер на несколько заданий. Дополнительные сведения о заданиях см . в разделе Указание заданий в конвейере.
Сколько параллельных заданий мне нужно?
Так как количество очередных сборок и выпусков превышает количество параллельных заданий, очереди сборки и выпуска увеличиваются. Если задержка очереди слишком велика, при необходимости можно приобрести дополнительные параллельные задания. Существует несколько методов, которые можно использовать для проверка ограничений параллельных заданий и журнала заданий.
Просмотр журнала заданий с помощью отчета о потреблении пула
Вы можете использовать отчет о потреблении пула, доступный на вкладке Аналитика пула агентов , чтобы просмотреть диаграмму выполняющихся и поставленных в очередь заданий с параллельными заданиями за предыдущие 30 дней. Если у вас есть невыполненная работа по заданиям в очереди, а выполняемые задания находятся на пределе параллелизма, вы можете приобрести дополнительные параллельные задания. Дополнительные сведения см. в разделе Отчет о потреблении пула.
Проверка параметра параллельных заданий напрямую
Определите, сколько параллельных заданий вам нужно, сначала посмотрив, сколько параллельных заданий в настоящее время использует ваша организация:
Перейдите в раздел Параметры> организацииКонвейеры>Параллельные задания.
Пример URL-адреса:
https://{your_organization}/_admin/_buildQueue?_a=resourceLimits
Просмотрите максимальное количество параллельных заданий, доступных для вашей организации.
Выберите Просмотр выполняющихся заданий , чтобы отобразить все сборки и выпуски, которые активно используют доступное параллельное задание или находятся в очереди в ожидании доступности параллельного задания.
Оценка затрат
Как правило, требуется одно параллельное задание на каждых четырех или пятерых пользователей в организации.
Несколько параллельных заданий могут понадобиться в следующих случаях:
- Если у вас несколько команд и для каждой из них требуется CI, скорее всего, потребуется параллельное задание для каждой команды.
- Если триггер CI применяется к нескольким ветвям, скорее всего, потребуется параллельное задание для каждой активной ветви.
- Если вы разрабатываете несколько приложений с помощью одной организации или сервера, скорее всего, вам потребуются дополнительные параллельные задания: одно для одновременного развертывания каждого приложения.
Разделы справки купить больше параллельных рабочих мест?
Чтобы приобрести дополнительные параллельные задания, выполните приведенные далее действия.
- Для вашей организации необходимо настроить выставление счетов
- Необходимо быть членом группы Администраторы коллекции проектов.
Покупка параллельных заданий
Купите дополнительные параллельные задания в параметрах организации:
Войдите в свою организацию (
https://dev.azure.com/{yourorganization}
).Щелкните
Параметры организации.
Выберите Параллельные задания в разделе Конвейеры, а затем выберите Изменить для заданий, размещенных в Майкрософт, или Изменить для локальных заданий.
Введите нужную сумму и нажмите кнопку Сохранить.
Для использования дополнительных параллельных заданий может потребоваться до 30 минут.
Ценовую стоимость для параллельного задания см. на странице цен на Azure DevOps.
Разделы справки изменить количество параллельных заданий для моей организации?
Войдите в свою организацию (
https://dev.azure.com/{yourorganization}
).Щелкните
Параметры организации.
Выберите Параллельные задания в разделе Конвейеры, а затем выберите Приобретение параллельных заданий или Изменить для заданий, размещенных в Майкрософт, или Изменить для локальных заданий.
Введите меньшее или большее количество размещенных в Майкрософт или локальных заданий, а затем нажмите кнопку Сохранить.
Важно!
Размещенный контроллер сборки XAML не поддерживается. Если у вас есть организация, в которой необходимо запускать сборки XAML, настройте локальный сервер сборки и переключитесь на локальный контроллер сборки. Дополнительные сведения о размещенной модели XAML см. в статье Начало работы с XAML.
- Новое число параллельных заданий может занять до 30 минут.
Как параллельное задание используется в DevOps Services?
Представим организацию, имеющую только одно параллельное задание, размещенное в Майкрософт. Это задание позволяет пользователям в этой организации выполнять одновременно только одно задание. При активации дополнительных заданий они помещаются в очередь и ожидают завершения предыдущего задания.
Если вы используете конвейеры выпуска или YAML, выполнение использует параллельное задание только при активном развертывании на стадии. Пока выпуск ожидает утверждения или вмешательства вручную, параллельное задание не используется.
При запуске задания сервера или развертывании в группе развертывания с помощью конвейеров выпуска вы не используете параллельные задания.
- Сначала запускается сборка непрерывной интеграции 102 FabrikamFiber (основная ветвь).
- Развертывание FabrikamFiber, выпуск 11 запускается по завершении сборки CI 102 FabrikamFiber.
- Активируется сборка непрерывной интеграции 101 FabrikamFiber (дополнительная ветвь). Сборка не может начаться, пока активно развертывание выпуска 11. Таким образом, сборка остается в очереди.
- Выпуск 11 ожидает утверждения. Fabrikam CI Build 101 запускается, так как выпуск, ожидающий утверждений, не использует параллельное задание.
- Выпуск 11 утвержден. Он возобновляется только после завершения сборки непрерывной интеграции 101 Fabrikam.
Как используется параллельное задание?
Например, коллекция в Team Foundation Server имеет одно параллельное задание. Это позволяет пользователям в этой коллекции запускать только один выпуск за раз. При активации дополнительных выпусков они помещаются в очередь и ожидают завершения предыдущего выпуска.
Для выпуска требуется параллельное задание только в том случае, если оно активно развертывается на этапе. Ожидание утверждения не использует параллельное задание. Однако при ожидании вмешательства вручную в середине развертывания требуется параллельное задание.
- FabrikamFiber, выпуск 10 должен быть развернут первым.
- Развертывание FabrikamFiber, выпуск 11 начинается после завершения развертывания выпуска 10.
- Выпуск 12 помещается в очередь до активного развертывания выпуска 11.
- В выпуске 11 ожидается утверждение. Развертывание выпуска 12 начинается, так как выпуск, ожидающий утверждений, не использует параллельное задание.
- Несмотря на то, что выпуск 11 утвержден, он возобновляется только после завершения развертывания выпуска 12.
- Выпуск 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 Server в вашей организации.
Перейдите в раздел Параметры сервера, Уровни доступа.
Пример URL-адреса:
http://{your_server}:8080/tfs/_admin/_licenses
В левой части страницы щелкните VS Enterprise.
Добавьте пользователей, у которых есть Visual Studio Enterprise подписки.
После добавления этих пользователей на странице ограничений ресурсов, описанной ниже, появятся дополнительные лицензии.
Приобретение дополнительных параллельных заданий
Если вам нужно запускать более параллельные выпуски, вы можете приобрести дополнительные частные задания в Visual Studio Marketplace. Так как в настоящее время невозможно напрямую приобрести параллельные задания в Marketplace для экземпляра TFS, необходимо сначала приобрести параллельные задания для организации Azure DevOps. После приобретения частных заданий для организации Azure DevOps вы вручную вводите количество приобретенных параллельных заданий на странице ограничений ресурсов, описанной ниже.
Просмотр параллельных заданий и управление ими
Перейдите в раздел Параметры коллекции, Конвейеры, Ограничения ресурсов.
Пример URL-адреса:
http://{your_server}:8080/tfs/DefaultCollection/_admin/_buildQueue?_a=resourceLimits
Просмотр или изменение количества приобретенных параллельных заданий.
Вопросы и ответы
Разделы справки претендовать на бесплатный уровень общедоступных проектов?
Вы можете использовать ограничения уровня "Бесплатный" для общедоступных проектов, если соответствуете обоим из следующих условий:
- Ваш конвейер является частью общедоступного проекта 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 организации, участником которой они являются.
Как насчет возможности оплаты размещенных агентов поминутно?
Некоторые из наших предыдущих клиентов по-прежнему используют поминутный план для размещенных агентов. В этом плане вы платите 0,05 долл. США в минуту за первые 20 часов после бесплатного уровня и 0,01 долл. США в минуту через 20 часов. Из-за следующих ограничений в этом плане может потребоваться перейти на модель параллельных заданий:
- При использовании поминутного плана вы можете выполнять только одно задание за раз.
- Если сборка выполняется более 14 оплачиваемых часов в месяц, поминутный план может оказаться более затратным, чем модель параллельных заданий.
Я использую контроллеры сборки XAML с моей организацией. Как с меня взимается плата за эти расходы?
Вы можете зарегистрировать один контроллер сборки XAML для каждого локального параллельного задания в организации. Ваша организация получает по крайней мере одно бесплатное локальное параллельное задание, поэтому вы можете зарегистрировать один контроллер сборки XAML без дополнительной платы. Для каждого дополнительного контроллера сборки XAML потребуется дополнительное локальное параллельное задание.
Кто может использовать систему?
Пользователи TFS с клиентской лицензией TFS могут создавать любое количество выпусков.
Для утверждения выпусков клиентская лицензия TFS не требуется; любой пользователь с доступом заинтересованных лиц может утвердить или отклонить выпуски.
Требуются ли параллельные задания для выполнения сборок в TFS?
Нет, в TFS параллельные задания для выполнения сборок не требуются. Вы можете запускать любое количество сборок одновременно без дополнительной платы.
Требуются ли параллельные задания для управления выпусками в версиях до TFS 2017?
Нет.
В TFS 2015, если у пользователей есть клиентская лицензия TFS, они могут управлять выпусками без дополнительной платы в пробном режиме. Мы назвали это "режим пробной версии", чтобы указать, что в конечном итоге мы будем взимать плату за управление выпусками. Несмотря на эту метку, мы полностью поддерживаем управление выпусками В TFS 2015.