Compartilhar via


Início Rápido: Criar um Pool de DevOps Gerenciado usando um modelo do ARM

Este artigo mostra como criar um Pool de DevOps Gerenciado usando um modelo do ARM e executar um pipeline no novo pool.

Pré-requisitos

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.

Fazer logon na CLI do Azure

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

  1. Entre na CLI do Azure.

    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 de suas assinaturas, você pode executar o comando a seguir.

    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.

Criar um grupo de recursos, um Centro de Desenvolvimento e um Projeto do Centro de Desenvolvimento

  1. Siga as etapas Criar um centro de desenvolvimento em Criar e configurar um centro de desenvolvimento para Ambientes de Implantação do Azure usando a CLI do Azure.

    Você só precisa seguir as etapas na seção Criar um centro de desenvolvimento. Anote o nome do grupo de recursos e o nome do Centro de Desenvolvimento.

  2. Siga as etapas Criar um projeto em Criar e configurar um projeto usando a CLI.

    Anote o id do projeto criado (não o devCenterId).

Revise e salve o modelo

  1. Crie um nome de arquivo local mdp-azure-deploy.json com o conteúdo a seguir. Esse arquivo é um modelo do ARM parametrizado que cria um microsoft.devopsinfrastructure/pools recurso.

    {
        "$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. Crie outro arquivo local chamado mdp-azure-deploy-parameters.json e salve-o na mesma pasta do primeiro arquivo. Atualize as propriedades a seguir para corresponder aos detalhes do seu ambiente.

    Parâmetro Valor
    poolName Atualize value com o nome desejado do seu pool. O nome deve consistir em caracteres alfanuméricos, ., -, ou _, e ter entre 3 e 44 caracteres de comprimento. O nome deve ser globalmente exclusivo no Azure.
    adoOrg Atualize value e substitua your-organization pelo nome da sua organização do Azure DevOps.
    devCenterResourceId Atualize value com a id etapa anterior Criar um grupo de recursos, Centro de Desenvolvimento e Projeto do Centro de Desenvolvimento.
    imageName Este exemplo está configurado para usar uma imagem do Azure Pipelines e usa a imagem do Windows Server 2022. Se você quiser alterá-lo, escolha entre os aliases predefinidos de imagem do Azure Pipelines. Os Pools de DevOps Gerenciados também dão suporte a imagens da Galeria de Computação do Azure e imagens selecionadas do marketplace. Para obter informações sobre como configurar um recurso de Pools de DevOps Gerenciados para esses tipos de imagem, consulte Configurar imagens de Pools de DevOps Gerenciados.
    poolSize Atualize value com o número máximo de agentes que você deseja que possam executar trabalhos simultâneos. Neste exemplo, o poolSize arquivo .1
    location A região do Azure para o pool. Neste exemplo, a região é 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"
            }
        }
    }
    

Criar o pool de DevOps gerenciado

Abra um prompt de comando (no Windows, use o Prompt de Comando do Windows ou o PowerShell) e execute os comandos a seguir. Você poderá ignorar os dois primeiros comandos se a sessão da CLI do Azure do primeiro procedimento ainda estiver ativa.

  1. Entre na CLI do Azure.

    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 de suas assinaturas, você pode executar o comando a seguir.

    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.

  3. Vá para a pasta quando você salvou os dois arquivos JSON da etapa anterior. Neste exemplo, os arquivos são salvos no C:\examples.

    cd c:\examples
    
  4. Crie o pool de DevOps gerenciado. Substitua <resourceGroupName> pelo grupo de recursos criado na primeira etapa.

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

    Se sua assinatura não tiver a capacidade de configurar seu pool com o SKU de VM do Azure desejado 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 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. Para resolver o problema, consulte Revisar cotas de Pools de DevOps Gerenciados.

Exibir o pool criado no portal do Azure

  1. Entre no portal do Azure.

  2. Pesquise Pools de DevOps gerenciados e selecione-os entre as opções disponíveis.

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

  4. Escolha Exibição JSON para ver o formato JSON do recurso Pools de DevOps gerenciados.

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

Exibir o pool de agentes no Azure DevOps

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

  2. Acesse as configurações da Organização do Azure DevOps>.

    Captura de tela do botão Configurações da organização.

  3. Acesse pools do Agente de Pipelines> e verifique se o novo pool está listado. Se você acabou de criar o Pool de DevOps Gerenciado, pode levar alguns instantes para que o novo pool apareça na lista de agentes.

    Captura de tela 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 do Azure DevOps e o executaremos em seu novo Pool de DevOps Gerenciado.

  1. Acesse 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 em que você deseja executar o pipeline e escolha Pipelines.

    Captura de tela da lista de projetos.

  3. Escolha Novo pipeline (ou Criar pipeline se este for 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, portanto, escolhemos o repositório com o mesmo nome.

    Captura de tela do repositório FabrikamFiber.

  6. Escolha Pipeline inicial.

    Captura de tela 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 que você criou 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-poolse especifique o nome do Pool de DevOps Gerenciado.

    # Replace fabrikam-managed-pools with the name
    # of your Managed DevOps Pool.
    pool:
      name: fabrikam-managed-pool
    
  8. Escolha Save and run (Salvar e executar) e escolha Save and run a second time (Salvar e executar uma segunda vez) para confirmar.

    Captura de tela do botão salvar e executar.

  9. Se esse for o primeiro pipeline executado nesse pool, você poderá ser solicitado a conceder permissões antes da execução do pipeline.

  10. Assista à execução do pipeline no Azure DevOps e você pode alternar para o portal do Azure e ver o agente em execução na exibição Agentes.

Limpar os recursos

Quando você tiver concluído o início rápido, exclua os recursos criados se não quiser continuar a usá-los.

Para excluir o Pool de DevOps Gerenciado, o Centro de Desenvolvimento e o Projeto do Centro de Desenvolvimento, você pode excluí-los excluindo o grupo de recursos que os contém.

Confira também