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


Quickstart: Создание управляемого пула DevOps с использованием Azure CLI

В этой статье показано, как создать управляемый пул 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) и выполните следующие команды.

  1. Войдите в Azure CLI. Если вы используете Azure Cloud Shell , вам не нужно работать az login , если вы не хотите использовать другую учетную запись.

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

    az account set --subscription "My subscription name"
    

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

    az account list -o table
    

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

Определение переменных среды

  1. Выполните следующие команды, чтобы сгенерировать имена для ресурсов в этом кратком руководстве. В этом примере используется 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
    

Создание группы ресурсов

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

    az group create --name $RESOURCE_GROUP_NAME --location $REGION
    

Создайте центр разработки и проект центра разработки

  1. Выполните следующую команду, которая устанавливает расширение Azure CLI devcenter , если оно не установлено, и обновляет его до последней версии, если она уже установлена.

    az extension add --name devcenter --upgrade
    
  2. Выполните следующие команды, чтобы создать центр разработки и проект центра разработки.

    # 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 для создания пула.

  1. Создайте файл с именемagent-profile.json со следующим содержимым.

    {
      "Stateless": {}
    }
    

    Эта конфигурация указывает агент без состояния для вашего пула.

  2. Создайте файл с именем 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 и стандартныйтип диска операционной системы без подключенного диска данных.

  3. Создайте файл с именем 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

  1. Выполните следующую команду, которая устанавливает расширение Azure CLI mdp , если оно не установлено, и обновляет его до последней версии, если она уже установлена.

     az extension add --name mdp --upgrade
    
  2. Создайте управляемый пул 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

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

  2. Ищите Управляемые пулы DevOps и выберите их из доступных вариантов.

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

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

    Скриншот кнопки

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

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

  2. Перейдите к Azure DevOps>Параметры организации.

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

  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-pool, и укажите имя вашего управляемого пула 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. В этом кратком руководстве созданы все ресурсы в новой группе ресурсов, поэтому их можно удалить с помощью команды az group delete, чтобы удалить группу ресурсов и все её ресурсы.

az group delete -n $RESOURCE_GROUP_NAME

См. также