Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как создать управляемый пул DevOps с помощью Azure CLI и запустить конвейер в нем.
Предварительные условия
Предварительные требования для управляемых пулов DevOps
Прежде чем выполнить действия, описанные в этой статье, необходимо настроить подписку Azure и организацию Azure DevOps для использования с управляемыми пулами DevOps, как описано в статье "Предварительные требования". Эти действия необходимо выполнить только один раз для каждой подписки Azure и организации Azure DevOps.
Предварительные требования к Azure CLI
Если вы хотите запустить команды Azure CLI на локальном компьютере, ознакомьтесь с инструкциями по установке Azure CLI. Если у вас уже установлена Azure CLI, выполните
az version, чтобы проверить версию. Для расширения Azure CLI для управляемых пулов DevOps требуется Azure CLI версии 2.57.0 или более поздней. Если Azure CLI установлена в версии ниже 2.57.0, выполните командуaz upgrade. Дополнительные сведения см. в статье Как обновить Azure CLI.Если вы хотите использовать Azure Cloud Shell через браузер, следуйте инструкциям из руководства по началу работы с временными сеансами Azure Cloud Shell , чтобы зарегистрировать пространство имен Microsoft.CloudShell . Необходимо зарегистрировать пространство имен только один раз на подписку.
В следующих примерах используется bash, поэтому при использовании Azure Cloud Shell выберите Bash при запуске Azure Cloud Shell.
Вход в Azure CLI
Откройте командную строку (в Windows, используйте командную строку Windows или PowerShell) и выполните следующие команды.
Войдите в Azure CLI. Если вы используете Azure Cloud Shell , вам не нужно работать
az login, если вы не хотите использовать другую учетную запись.az loginЕсли у вас несколько подписок Azure, задайте подписку Azure по умолчанию.
az account set --subscription "My subscription name"Чтобы получить список подписок, выполните следующую команду.
az account list -o tableЕсли у вас несколько клиентов или вы хотите просмотреть дополнительные сведения о работе с подпиской Azure с помощью Azure CLI, см. сведения об управлении подписками Azure с помощью Azure CLI.
Определение переменных среды
Выполните следующие команды, чтобы сгенерировать имена для ресурсов в этом кратком руководстве. В этом примере используется
EastUS2регион. ЗаменитеEastUS2нужным регионом.export REGION=EastUS2 export RANDOM_ID="$(openssl rand -hex 3)" export RESOURCE_GROUP_NAME="myManagedDevOpsPoolGroup$RANDOM_ID" export POOL_NAME="mdpPool$RANDOM_ID" export DEV_CENTER_NAME="mdpDevCenter$RANDOM_ID" export DEV_CENTER_PROJECT_NAME="mdpDevCenterProject$RANDOM_ID" # Echo the generated resource names echo $REGION echo $RESOURCE_GROUP_NAME echo $POOL_NAME echo $DEV_CENTER_NAME echo $DEV_CENTER_PROJECT_NAME
Создание группы ресурсов
Выполните следующую команду, чтобы создать группу ресурсов для размещения ресурсов, используемых в этом кратком руководстве.
az group create --name $RESOURCE_GROUP_NAME --location $REGION
Создайте центр разработки и проект центра разработки
Выполните следующую команду, которая устанавливает расширение Azure CLI
devcenter, если оно не установлено, и обновляет его до последней версии, если она уже установлена.az extension add --name devcenter --upgradeВыполните следующие команды, чтобы создать центр разработки и проект центра разработки.
# Create a dev center az devcenter admin devcenter create -n $DEV_CENTER_NAME \ -g $RESOURCE_GROUP_NAME \ -l $REGION # Save the id of the newly created dev center DEVCID=$( \ az devcenter admin devcenter show -n $DEV_CENTER_NAME \ -g $RESOURCE_GROUP_NAME \ --query id -o tsv) # Create a dev center project az devcenter admin project create -n $DEV_CENTER_PROJECT_NAME \ --description "My dev center project." \ -g $RESOURCE_GROUP_NAME \ -l $REGION \ --dev-center-id $DEVCID # Save the dev center project for use when creating # the Managed DevOps Pool DEVCPID=$( \ az devcenter admin project show -n $DEV_CENTER_PROJECT_NAME \ -g $RESOURCE_GROUP_NAME \ --query id -o tsv)Через несколько секунд выходные данные указывают на то, что центр разработки был создан. Созданный элемент
idцентра разработки сохраняется вDEVCIDи используется для создания проекта центра разработки.{ "devCenterUri": "https://...", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resourceGroupName/providers/Microsoft.DevCenter/devcenters/devCenterName", "location": "eastus", "name": "devCenterName", "provisioningState": "Succeeded", "resourceGroup": "resourceGroupName", "systemData": { ... }, "type": "microsoft.devcenter/devcenters" }Через несколько секунд выходные данные указывают на то, что проект центра разработки был создан. Созданный проект центра разработки
idсохраняется вDEVCPIDи используется для создания управляемого пула DevOps в следующем разделе.{ "description": "My dev center project.", "devCenterId": "...", "devCenterUri": "https://...", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resourceGroupName/providers/Microsoft.DevCenter/projects/devCenterProjectName", "location": "eastus", "name": "devCenterProjectName", "provisioningState": "Succeeded", "resourceGroup": "resourceGroupName", "systemData": { ... }, "type": "microsoft.devcenter/projects" }
Подготовка файлов конфигурации управляемого пула DevOps
Метод mdp pool create имеет несколько параметров, которые принимают значения JSON, которые настраивают различные аспекты пула.
-
agent-profileуказывает, является ли пул с сохранением состояния или без сохранения состояния и содержит расписание резервного агента. Это словарь с одним ключом с именемStatefulилиStatelessв зависимости от требуемой конфигурации агента. Дополнительные сведения о свойствах см. вagent-profileразделе "Настройка масштабирования". -
fabric-profileуказывает размер агента, образы виртуальных машин, диск ОС и подключенное хранилище. Дополнительные сведения о свойствах см. вfabric-profileразделе "Настройка параметров пула " и "Настройка дополнительного хранилища". -
organization-profileуказывает организации и проекты Azure DevOps, которые могут использовать пул. Дополнительные сведения о параметрах см. вorganization-profileразделе "Настройка параметров безопасности" — настройка доступа к организации.
Создайте следующие три файла и сохраните их в папке, в которой планируется запустить команды Azure CLI для создания пула.
Создайте файл с именемagent-profile.json со следующим содержимым.
{ "Stateless": {} }Эта конфигурация указывает агент без состояния для вашего пула.
Создайте файл с именем fabric-profile.json со следующим содержимым.
{ "vmss": { "sku": { "name": "Standard_D2as_v5" }, "images": [ { "aliases": [ "ubuntu-24.04" ], "buffer": "*", "wellKnownImageName": "ubuntu-24.04/latest" } ], "osProfile": { "secretsManagementSettings": { "observedCertificates": [], "keyExportable": false }, "logonType": "Service" }, "storageProfile": { "osDiskStorageAccountType": "Standard", "dataDisks": [] } } }Эта конфигурация задает пул, используя образ Standard_D2as_v5, образ ubuntu-24.04Azure Pipelines и стандартныйтип диска операционной системы без подключенного диска данных.
Создайте файл с именем organization-profile.json со следующим содержимым. Замените
<organization-name>именем организации Azure DevOps.{ "AzureDevOps": { "organizations": [ { "url": "https://dev.azure.com/<organization-name>", "projects": [], "parallelism": 1 } ], "permissionProfile": { "kind": "CreatorOnly" } } }Эта конфигурация указывает пул, доступный для всех проектов в организации Azure DevOps.
Создание управляемого пула DevOps
Выполните следующую команду, которая устанавливает расширение Azure CLI
mdp, если оно не установлено, и обновляет его до последней версии, если она уже установлена.az extension add --name mdp --upgradeСоздайте управляемый пул DevOps, выполнив следующую команду az mdp pool create .
az mdp pool create -n $POOL_NAME \ -g $RESOURCE_GROUP_NAME \ -l $REGION \ --devcenter-project-id $DEVCPID \ --maximum-concurrency 1 \ --agent-profile agent-profile.json \ --fabric-profile fabric-profile.json \ --organization-profile organization-profile.jsonЕсли у вашей подписки нет емкости для настройки пула с требуемым номером SKU виртуальной машины Azure и максимальным числом агентов, создание пула завершается ошибкой, аналогичной приведенному ниже сообщению.
Cores needed to complete this request is 2, which exceeds the current limit of 0 for SKU family standardDDSv4Family in region eastus. Please choose a different region if possible, or request additional quota at https://portal.azure.com/#view/Microsoft_Azure_Support/NewSupportRequestV3Blade/issueType/quota/subscriptionId/subscription_id_placeholder/topicId/3eadc5d3-b59a-3658-d8c6-9c729ba35b97. Чтобы устранить проблему, ознакомьтесь с квотами управляемых пулов DevOps.
Посмотреть созданный пул в портале Azure
Войдите на портал Azure.
Ищите Управляемые пулы DevOps и выберите их из доступных вариантов.
Выберите новый управляемый пул DevOps из списка.
Выберите вид JSON, чтобы просмотреть JSON-формат ресурса DevOps управляемых пулов.
Просмотр пула агентов в Azure DevOps
Перейдите на портал Azure DevOps и войдите в свою организацию Azure DevOps (
https://dev.azure.com/{your-organization}).Перейдите к Azure DevOps>Параметры организации.
Перейдите в Pipelines>пулы агентов и убедитесь, что ваш новый пул отображается в списке. Если вы только что создали пул Managed DevOps, появление нового пула в списке агентов может занять несколько минут.
Запустите конвейер в вашем новом пуле
На этом шаге мы создадим простой конвейер в репозитории по умолчанию проекта Azure DevOps и запустите его в новом управляемом пуле DevOps.
Перейдите на портал Azure DevOps и войдите в свою организацию Azure DevOps (
https://dev.azure.com/{your-organization}).Перейдите в проект, в котором вы хотите запустить конвейер, и выберите конвейеры.
Выберите новый конвейер (или создать конвейер, если это первый конвейер).
Выберите Azure Repos Git.
Выберите репозиторий с тем же именем, что и проект. В этом примере проект называется FabrikamFiber, поэтому мы выбираем репозиторий с тем же именем.
Выберите конвейер Starter.
По умолчанию начальный шаблон использует агент Linux, размещенный корпорацией Майкрософт. Измените шаблон конвейера и измените раздел
pool, чтобы он ссылался на пул, созданный на предыдущих этапах.# Change these two lines as shown in the following example. pool: vmImage: ubuntu-latestВ этом примере управляемый пул DevOps называется
fabrikam-managed-pool, поэтому заменитеvmImage: ubuntu-latestнаname: fabrikam-managed-pool, и укажите имя вашего управляемого пула DevOps.# Replace fabrikam-managed-pools with the name # of your Managed DevOps Pool. pool: name: fabrikam-managed-poolНажмите кнопку "Сохранить и запустить", а затем нажмите "Сохранить и запустить" второй раз, чтобы подтвердить.
Если это первый запуск конвейера в этом пуле, вам может потребоваться предоставить разрешения перед запуском конвейера. Дополнительные сведения см. в статье "Этот конвейер должен иметь разрешение на доступ к ресурсу перед продолжением выполнения".
Наблюдайте за выполнением конвейера в Azure DevOps, а также можете перейти на портал Azure и увидеть запущенный агент в разделе 'Агенты'.
Очистка ресурсов
Если вы не собираетесь продолжать использовать это приложение, удалите группу ресурсов, центр разработки, проект центра разработки и управляемый пул DevOps. В этом кратком руководстве созданы все ресурсы в новой группе ресурсов, поэтому их можно удалить с помощью команды az group delete, чтобы удалить группу ресурсов и все её ресурсы.
az group delete -n $RESOURCE_GROUP_NAME