Partilhar via


Guia de início rápido: criar um pool de DevOps gerenciado usando a CLI do Azure

Este artigo mostra como criar um Pool de DevOps Gerenciado usando a CLI do Azure e executar um pipeline nele.

Pré-requisitos

  • Pré-requisitos de pools de DevOps gerenciados

    Antes de concluir as etapas neste artigo, você deve ter configurado sua assinatura do Azure e a organização do Azure DevOps para uso com Pools de DevOps Gerenciados, conforme descrito no artigo Pré-requisitos . Essas etapas precisam ser concluídas apenas uma vez por assinatura do Azure e organização do Azure DevOps.

  • Pré-requisitos da CLI do Azure

    • Se você quiser executar os comandos da CLI do Azure em sua máquina local, consulte as instruções de instalação da CLI do Azure. Se você já tiver a CLI do Azure instalada, execute az version para verificar sua versão. A extensão da CLI do Azure para Pools de DevOps Gerenciados requer a CLI do Azure versão 2.57.0 ou superior. Se sua CLI do Azure for inferior a 2.57.0, execute az upgrade. Para obter mais informações, consulte Como atualizar a CLI do Azure.

    • Se você quiser usar o Azure Cloud Shell por meio do navegador, siga as instruções em Introdução às sessões efêmeras do Azure Cloud Shell para registrar o namespace Microsoft.CloudShell . Você só precisa registrar o namespace uma vez por assinatura.

      Os exemplos a seguir usam bash, portanto, se você estiver usando o Azure Cloud Shell, escolha Bash ao iniciar o Azure Cloud Shell.

Entrar na CLI do Azure

Abra um prompt de comando (no Windows, use o Prompt de Comando do Windows ou o PowerShell) e execute os seguintes comandos.

  1. Entre na CLI do Azure. Se você estiver usando o Azure Cloud Shell , não precisará executar az login , a menos que queira usar uma conta diferente.

    az login
    
  2. Se você tiver mais de uma assinatura do Azure, defina sua assinatura padrão do Azure.

    az account set --subscription "My subscription name"
    

    Para obter uma lista das suas subscrições, pode executar o seguinte comando.

    az account list -o table
    

    Se você tiver vários locatários ou quiser ver mais informações sobre como trabalhar com a assinatura do Azure usando a CLI do Azure, consulte Como gerenciar assinaturas do Azure com a CLI do Azure.

Definir variáveis de ambiente

  1. Execute os seguintes comandos para gerar os nomes dos recursos neste início rápido. Este exemplo usa a EastUS2 região. Substitua EastUS2 pela região desejada.

    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
    

Criar um grupo de recursos

  1. Execute o seguinte comando para criar o grupo de recursos para conter os recursos usados neste início rápido.

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

Criar um centro de desenvolvimento e um projeto de centro de desenvolvimento

  1. Execute o seguinte comando, que instala a extensão da CLI devcenter do Azure se não estiver instalada e a atualiza para a versão mais recente se já estiver instalada.

    az extension add --name devcenter --upgrade
    
  2. Execute os seguintes comandos para criar um centro de desenvolvimento e um projeto de centro de desenvolvimento.

    # 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)
    

    Após alguns momentos, a saída indica que o centro de desenvolvimento foi criado. O id do centro de desenvolvimento criado é guardado em DEVCID e é usado para criar o projeto do centro de desenvolvimento.

    {
        "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"
    }
    

    Depois de mais alguns momentos, a saída indica que o projeto do centro de desenvolvimento foi criado. O id do projeto do centro de desenvolvimento criado é guardado em DEVCPID e é usado na altura da criação do Pool de DevOps Gerenciado na próxima secção.

    {
      "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"
    }
    

Preparar os arquivos de configuração do Pool de DevOps Gerenciado

O mdp pool create método tem vários parâmetros que usam valores JSON que configuram diferentes aspetos do pool.

  • agent-profile Especifica se o pool é stateful ou stateless e contém a agenda do agente de reserva. É um dicionário com uma única chave chamada Stateful ou Stateless, dependendo da configuração desejada do agente. Para obter mais informações sobre agent-profile propriedades, consulte Configurar dimensionamento.
  • fabric-profile especifica o tamanho do agente, as imagens da VM, o disco do SO e o armazenamento anexado. Para obter mais informações sobre as propriedades fabric-profile, consulte Configurar definições de pool e Configurar armazenamento adicional.
  • organization-profile especifica as organizações e projetos do Azure DevOps que podem usar o pool. Para obter mais informações sobre organization-profile configurações, consulte Definir configurações de segurança - Configurar acesso à organização.

Crie os três arquivos a seguir e salve-os na pasta onde você planeja executar os comandos da CLI do Azure para criar o pool.

  1. Crie um arquivo chamado agent-profile.json com o seguinte conteúdo.

    {
      "Stateless": {}
    }
    

    Essa configuração especifica um agente sem estado para seu pool.

  2. Crie um arquivo chamado fabric-profile.json com o seguinte conteúdo.

    {
      "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": []
        }
      }
    }
    

    Essa configuração especifica um pool usando a imagem Standard_D2as_v5, a imagem ubuntu-24.04Azure Pipelines e um tipo de disco de sistema operacionalpadrão sem disco de dados anexado.

  3. Crie um arquivo chamado organization-profile.json com o seguinte conteúdo. Substitua <organization-name> pelo nome da sua organização do Azure DevOps.

    {
      "AzureDevOps": {
        "organizations": [
          {
            "url": "https://dev.azure.com/<organization-name>",
            "projects": [],
            "parallelism": 1
          }
        ],
        "permissionProfile": {
          "kind": "CreatorOnly"
        }
      }
    }
    

    Essa configuração especifica um pool que está disponível para todos os projetos em sua organização do Azure DevOps.

Criar o pool de DevOps gerenciado

  1. Execute o seguinte comando, que instala a extensão da CLI mdp do Azure se não estiver instalada e a atualiza para a versão mais recente se já estiver instalada.

     az extension add --name mdp --upgrade
    
  2. Crie o Pool de DevOps Gerenciado executando o seguinte comando 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
    

    Se sua assinatura não tiver a capacidade de configurar seu pool com a SKU de VM do Azure desejada e a contagem máxima de agentes, a criação do pool falhará com um erro semelhante à mensagem a seguir. 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. Para resolver o problema, consulte Consultar quotas de pools DevOps geridos.

Exibir o pool criado no portal do Azure

  1. Inicie sessão no portal do Azure.

  2. Pesquise por os Pools de DevOps Geridos e selecione-o nas opções disponíveis.

  3. Escolha seu novo Pool de DevOps Gerenciado na lista.

  4. Escolha Visualização JSON para ver o formato JSON do seu recurso Managed DevOps Pools.

    Captura de tela do botão Visualização JSON na visão geral do pool.

Exibir o pool de agentes no Azure DevOps

  1. Vá para o portal do Azure DevOps e entre na sua organização do Azure DevOps (https://dev.azure.com/{your-organization}).

  2. Vá para as Configurações da Organização do >.

    Captura de ecrã do botão Definições da organização.

  3. Vá para Pipelines>Agent pools e verifique se o seu novo pool está listado. Se você acabou de criar o Pool de DevOps gerenciado, pode levar alguns momentos para que o novo pool apareça na lista de agentes.

    Captura de ecrã da lista de pools de agentes.

Executar um pipeline em seu novo pool

Nesta etapa, criaremos um pipeline simples no repositório padrão de um projeto de DevOps do Azure e o executaremos em seu novo Pool de DevOps Gerenciado.

  1. Vá para o portal do Azure DevOps e entre na sua organização do Azure DevOps (https://dev.azure.com/{your-organization}).

  2. Vá para o projeto onde pretende executar o pipeline e escolha Pipelines.

    Captura de ecrã da lista Projetos.

  3. Escolha Novo pipeline (ou Create Pipeline se este for o seu primeiro pipeline).

    Captura de tela do novo botão de pipeline.

  4. Escolha Azure Repos Git.

    Captura de tela dos tipos de repositório.

  5. Escolha o repositório que tem o mesmo nome do seu projeto. Neste exemplo, o projeto é chamado FabrikamFiber, então escolhemos o repositório com o mesmo nome.

    Screenshot do repositório FabrikamFibra.

  6. Escolha a linha de montagem inicial.

    Captura de ecrã da lista de modelos de pipeline.

  7. Por padrão, o modelo inicial usa um agente Linux hospedado pela Microsoft. Edite o modelo de pipeline e altere a pool seção para que ela se refira ao pool criado nas etapas anteriores.

    # Change these two lines as shown in the following example.
     pool:
      vmImage: ubuntu-latest
    

    Neste exemplo, os Pools de DevOps Gerenciados são nomeados fabrikam-managed-pool, portanto, substitua vmImage: ubuntu-latest por name: fabrikam-managed-pool, e especifique o nome do seu Pool de DevOps Gerenciado.

    # Replace fabrikam-managed-pools with the name
    # of your Managed DevOps Pool.
    pool:
      name: fabrikam-managed-pool
    
  8. Escolha Salvar e executar e escolha Salvar e executar uma segunda vez para confirmar.

    Captura de tela do botão salvar e executar.

  9. Se este for o primeiro pipeline executado neste pool, você poderá ser solicitado a conceder permissões antes que o pipeline seja executado. Para obter mais informações, consulte Este pipeline precisa de permissão para acessar um recurso antes que essa execução possa continuar.

  10. Observe o pipeline ser executado no Azure DevOps, e você pode mudar para o portal do Azure para visualizar o agente em execução na exibição Agentes.

Limpar recursos

Se você não vai continuar a usar esse aplicativo, exclua o grupo de recursos, o centro de desenvolvimento, o projeto do centro de desenvolvimento e o Pool de DevOps gerenciado. Este início rápido criou todos os recursos num novo grupo de recursos, para que possa eliminá-los todos utilizando o comando az group delete para excluir o grupo de recursos e todos os seus recursos.

az group delete -n $RESOURCE_GROUP_NAME

Consulte também