Partilhar via


Gerenciar recursos de VM em ambientes

Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022

Um ambiente do Azure Pipelines é um grupo de recursos que você pode direcionar com implantações de um pipeline. Os ambientes típicos incluem Desenvolvimento, Teste ou Produção.

Para adicionar recursos físicos ou de máquina virtual (VM) a ambientes, instale agentes nas máquinas. O histórico de implantação do ambiente fornece rastreabilidade de cada máquina. Este artigo descreve como definir e usar ambientes para gerenciar implantações em recursos de VM ou servidor.

Nota

Os ambientes de DevOps do Azure estão disponíveis apenas para pipelines YAML. Para pipelines clássicos, os grupos de implantação fornecem funcionalidade semelhante.

Pré-requisitos

Para realizar os procedimentos neste artigo, você precisa dos seguintes pré-requisitos:

Criar um ambiente e adicionar uma VM

Use o procedimento a seguir para adicionar uma VM ou máquina física a um ambiente.

Criar o ambiente com um recurso de VM

  1. No seu projeto de DevOps do Azure, vá para Pipelines>Ambientes e selecione Criar ambiente ou Novo ambiente.

  2. Na tela Novo ambiente , insira um Nome e uma Descrição opcional.

  3. Em Recurso, selecione Máquinas virtuais e, em seguida, selecione Avançar.

    Captura de tela que mostra a adição de um ambiente.

Copiar o script de registo

Os scripts de agente para recursos de VM são como os scripts para agentes auto-hospedados e usam os mesmos comandos. Os scripts incluem um Token de Acesso Pessoal (PAT) do Azure DevOps para o usuário conectado, que expira três horas após o script ser gerado. Só precisa da PAT para instalar o agente.

Nota

Para configurar um agente de grupo de implementação ou se receber um erro ao registar o recurso de ambiente VM, tente definir o âmbito do Acesso PAT para Todas as organizações acessíveis em Definições de utilizador>Tokens de acesso pessoal.

  1. Na tela Recurso da máquina virtual , escolha Linux em Sistema operacional.

  2. Selecione o ícone para copiar o script de registro do Linux.

    Captura de tela que mostra a adição de uma máquina virtual Linux.

O script é o mesmo para todas as VMs Linux adicionadas ao ambiente. Para obter mais informações sobre como instalar o script de agente, consulte Agentes Linux auto-hospedados.

Execute o script de registro copiado na VM

  1. Selecione Fechar. O novo ambiente é criado. Para copiar o script novamente, por exemplo, se a PAT expirar, selecione Adicionar recurso novamente na página do ambiente.

    Captura de tela da mensagem do novo ambiente criado.

  2. Execute o script copiado em cada VM de destino que você deseja registrar no ambiente.

    Nota

    Se a VM já tiver outro agente em execução, forneça um nome exclusivo para que o novo agent se registre no ambiente.

  3. Depois que a VM for registrada, verifique se ela aparece na guia Recursos da página de ambiente do Azure Pipelines.

    Captura de ecrã do separador Recursos.

Usar ambientes em pipelines YAML

Você pode direcionar recursos de VM em seus trabalhos de implantação do YAML fazendo referência ao seu ambiente. Para obter mais informações sobre trabalhos de implantação YAML, consulte Trabalhos de implantação e a definição jobs.deployment na referência de esquema de pipelines YAML.

O trabalho de implantação de pipeline a seguir é executado somente em VMs no VMEnv ambiente.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to VMenv
  environment: VMenv
  strategy:
     runOnce:
        deploy:   
          steps:
            - script: echo "Hello world"

Você pode direcionar uma VM específica no ambiente anexando o nome do recurso da VM ao nome do ambiente. O exemplo a seguir implanta somente no recurso de VM nomeado RESOURCE-PC no VMenv ambiente.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to RESOURCE-PC in VMenv
  environment: VMenv.RESOURCE-PC  # only deploy to the VM resource named RESOURCE-PC
  strategy:
     runOnce:
        deploy:   
          steps:
            - script: echo "Hello world"

Você também pode usar a sintaxe completa da palavra-chave jobs-deployment-environment e implantar em VMs de ambiente específicas listando-as em resourceName.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to RESOURCE-PC in VMenv with full syntax
  environment: 
    name: VMenv
    resourceType: virtualMachine
    resourceName: RESOURCE-PC # only deploy to the VM resource named RESOURCE-PC
  strategy:
    runOnce:
      deploy:   
          steps:
          - script: echo "Hello world"

Nota

  • Os resourceType valores como virtualMachine são sensíveis ao caso. Invólucro incorreto resulta em nenhum recurso correspondente encontrado.
  • Se você repetir um estágio, a implantação será executada novamente em todas as VMs especificadas, não apenas em destinos com falha.

Estratégia de implantação

Em um trabalho de implantação, você aplica uma implantação strategy para definir como implantar seu aplicativo. As VMs suportam tanto as estratégias runOnce como as rolling. Para obter mais informações sobre estratégias de implantação e ganchos de ciclo de vida, consulte Estratégias de implantação.

Permissions

Na primeira vez que executar o pipeline que usa o ambiente, você deve conceder permissão para todas as execuções do pipeline para acessar o pool de agentes e o ambiente. Selecione o símbolo Aguardando ao lado do trabalho na tela Resumo de execução do pipeline e, em seguida, selecione Permitir para conceder as permissões necessárias.

Adicionar e gerir etiquetas

As tags são uma maneira de direcionar um conjunto específico de VMs de ambiente para implantação. Quando você especifica tags na palavra-chave environment , o pipeline é implantado somente em VMs de ambiente que têm as tags aplicadas.

Não há limite para o número de tags que você pode aplicar às VMs. Os nomes das tags são limitados a 256 caracteres cada.

Você pode aplicar ou remover tags selecionando o ícone Mais ações ao lado da VM na guia Recursos do ambiente.

Captura de tela que mostra a configuração de marcas de VM na interface do usuário.

Você também pode aplicar tags interativamente ao registrar o script de agente na VM.

Captura de tela que mostra a configuração de marcas de VM no script interativo.

Se você especificar várias tags, o pipeline será implantado somente em VMs que incluam todas as tags. O exemplo a seguir destina-se apenas a VMs que têm as windows tags e prod . O pipeline não é implantado em VMs que tenham apenas uma ou nenhuma das tags.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to VM
  environment: 
    name: VMenv
    resourceType: virtualMachine
    tags: windows,prod # only deploy to VMs with both windows and prod tags
  strategy:
    runOnce:
      deploy:   
          steps:
          - script: echo "Hello world"

Ver o histórico de implementações

Selecione a guia Implantações da página do ambiente para rastrear completamente as confirmações e itens de trabalho e um histórico de implantação entre pipelines por ambiente e recurso.

Captura de ecrã que mostra a vista de Implantações de Máquina Virtual.

Remover uma VM de um ambiente

Para remover uma VM de um ambiente Linux, execute o seguinte comando na máquina.

./config.sh remove