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


Краткое руководство. Создание управляемого пула DevOps с помощью шаблона ARM

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

Необходимые компоненты

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

Вход в Azure CLI

Откройте командную строку (в Windows, используйте командную строку Windows или PowerShell) и выполните следующие команды.

  1. Войдите в Azure CLI.

    az login
    
  2. Если у вас несколько подписок Azure, задайте подписку Azure по умолчанию.

    az account set --subscription "My subscription name"
    

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

    az account list -o table
    

    Если у вас несколько клиентов или вы хотите просмотреть дополнительные сведения о работе с подпиской Azure с помощью Azure CLI, см. сведения об управлении подписками Azure с помощью Azure CLI.

Создание группы ресурсов, Центр разработки и Центр разработки Project

  1. Выполните действия по созданию центра разработки и настройке центра разработки для сред развертывания Azure с помощью Azure CLI.

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

  2. Выполните действия по созданию проекта и настройке проекта с помощью Azure CLI.

    Запишите id созданный проект (а не ).devCenterId

Просмотр и сохранение шаблона

  1. Создайте имя локального файла mdp-azure-deploy.json со следующим содержимым. Этот файл является параметризованным шаблоном ARM, который создает microsoft.devopsinfrastructure/pools ресурс.

    {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "poolName": {
                "type": "string"
            },
            "adoOrg": {
                "type": "string"
            },
            "devCenterResourceId": {
                "type": "string"
            },
            "imageName": {
                "type": "string"
            },
            "poolSize": {
                "type": "int"
            },
            "location": {
                "type": "string",
                "defaultValue": "eastus"
            }
        },
        "variables": {},
        "resources": [
            {
                "name": "[parameters('poolName')]",
                "type": "microsoft.devopsinfrastructure/pools",
                "apiVersion": "2024-10-19",
                "location": "[parameters('location')]",
                "tags": {},
                "properties": {
                    "organizationProfile": {
                        "organizations": [
                            {
                                "url": "[parameters('adoOrg')]",
                                "parallelism": 1
                            }
                        ],
                        "permissionProfile": {
                            "kind": "CreatorOnly"
                        },
                        "kind": "AzureDevOps"
                    },
                    "devCenterProjectResourceId": "[parameters('devCenterResourceId')]",
                    "maximumConcurrency": "[parameters('poolSize')]",
                    "agentProfile": {
                        "kind": "Stateless"
                    },
                    "fabricProfile": {
                        "sku": {
                            "name": "Standard_D2ads_v5"
                        },
                        "images": [
                            {
                                "wellKnownImageName": "[parameters('imageName')]",
                                "buffer": "*"
                            }
                        ],
                        "kind": "Vmss"
                    }
                }
            }
        ]
    }
    
  2. Создайте другой локальный файл с именем mdp-azure-deploy-parameters.json и сохраните его в той же папке, что и первый файл. Обновите следующие свойства, чтобы соответствовать сведениям о вашей среде.

    Параметр Значение
    poolName Обновите value нужное имя пула. Имя должно состоять из буквенно-цифровых символов, .-или _от 3 до 44 символов. Имя должно быть глобально уникальным в Azure.
    adoOrg Обновите value и замените your-organization именем организации Azure DevOps.
    devCenterResourceId Обновите value с помощью предыдущего id проекта.
    imageName Этот пример настроен для использования образа Azure Pipelines и использует образ Windows Server 2022. Если вы хотите изменить его, выберите из предварительно определенных псевдонимов образа Azure Pipelines. Управляемые пулы DevOps также поддерживают образы коллекции вычислений Azure и выбранные образы Marketplace. Сведения о настройке ресурса управляемых пулов DevOps для этих типов образов см. в разделе "Настройка образов управляемых пулов DevOps".
    poolSize Обновите value максимальное количество агентов, которые вы хотите иметь возможность выполнять одновременные задания. В этом примере poolSize используется 1.
    location Регион Azure для пула. В этом примере это eastusрегион.
    {
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "poolName": {
                "value": "my-first-managed-pool"
            },
            "adoOrg": {
                "value": "https://dev.azure.com/your-organization"
            },
            "devCenterResourceId": {
                "value": "/subscriptions/subscription_id_placeholder/resourceGroups/fabrikam-managed-devops-pools/providers/Microsoft.DevCenter/projects/fabrikam-dev-center-project"
            },
            "imageName": {
                "value": "windows-2022"
            },
            "poolSize": {
                "value": 1
            },
            "location": {
                "value": "eastus"
            }
        }
    }
    

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

Откройте командную строку (в Windows, используйте командную строку Windows или PowerShell) и выполните следующие команды. Вы можете пропустить первые две команды, если сеанс Azure CLI из первой процедуры по-прежнему активен.

  1. Войдите в Azure CLI.

    az login
    
  2. Если у вас несколько подписок Azure, задайте подписку Azure по умолчанию.

    az account set --subscription "My subscription name"
    

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

    az account list -o table
    

    Если у вас несколько клиентов или вы хотите просмотреть дополнительные сведения о работе с подпиской Azure с помощью Azure CLI, см. сведения об управлении подписками Azure с помощью Azure CLI.

  3. Перейдите в папку при сохранении двух JSON-файлов на предыдущем шаге. В этом примере файлы сохраняются в C:\examples.

    cd c:\examples
    
  4. Создайте управляемый пул DevOps. Замените <resourceGroupName> группу ресурсов, созданную на первом шаге.

    az deployment group create --resource-group <resourceGroupName> --template-file mdp-azure-deploy.json --parameters mdp-azure-deploy-parameters.json
    

    Если у вашей подписки нет емкости для настройки пула с требуемым номером SKU виртуальной машины Azure и максимальным числом агентов, создание пула завершается ошибкой, аналогичной приведенному ниже сообщению. Cores needed to complete this request is 8, 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

  1. Войдите на портал Azure.

  2. Найдите управляемые пулы DevOps и выберите его из доступных вариантов.

  3. Выберите новый управляемый пул DevOps из списка.

  4. Выберите представление JSON, чтобы просмотреть формат JSON ресурса Управляемых пулов DevOps.

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

Просмотр пула агентов в Azure DevOps

  1. Перейдите на портал Azure DevOps и войдите в свою организацию Azure DevOps (https://dev.azure.com/{your-organization}).

  2. Перейдите к >.

    Снимок экрана: кнопка

  3. Перейдите в пулы агентов Pipelines>и убедитесь, что в списке указан новый пул. Если вы только что создали пул Managed DevOps, в списке агентов может потребоваться несколько минут.

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

Запуск конвейера в новом пуле

На этом шаге мы создадим простой конвейер в репозитории по умолчанию проекта Azure DevOps и запустите его в новом управляемом пуле DevOps.

  1. Перейдите на портал Azure DevOps и войдите в свою организацию Azure DevOps (https://dev.azure.com/{your-organization}).

  2. Перейдите в проект, в котором вы хотите запустить конвейер, и выберите конвейеры.

    Снимок экрана: список проектов.

  3. Выберите новый конвейер (или создать конвейер, если это первый конвейер).

    Снимок экрана: новая кнопка конвейера.

  4. Выберите Azure Repos Git.

    Снимок экрана: типы репозитория.

  5. Выберите репозиторий с тем же именем, что и проект. В этом примере проект называется FabrikamFiber, поэтому мы выбираем репозиторий с тем же именем.

    Снимок экрана репозитория FabrikamFiber.

  6. Выберите конвейер Starter.

    Снимок экрана: список шаблонов конвейера.

  7. По умолчанию начальный шаблон использует агент 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-poolsи укажите имя управляемого пула DevOps.

    # Replace fabrikam-managed-pools with the name
    # of your Managed DevOps Pool.
    pool:
      name: fabrikam-managed-pool
    
  8. Нажмите кнопку "Сохранить и запустить" и нажмите кнопку "Сохранить" и " Сохранить" во второй раз, чтобы подтвердить.

    Снимок экрана: кнопка сохранения и запуска.

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

  10. Просмотрите запуск конвейера в Azure DevOps, и вы можете перейти на портал Azure и просмотреть запущенный агент в представлении агентов.

Очистка ресурсов

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

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

См. также