Ambiente - recurso de máquina virtual
Serviços de DevOps do Azure | Azure DevOps Server 2022 | Azure DevOps Server 2020
Use recursos de máquina virtual (VM) para gerenciar implantações em várias máquinas com pipelines YAML. Os recursos de VM permitem instalar agentes em seus próprios servidores para implantações contínuas.
Os recursos de VM se conectam a ambientes. Depois de definir um ambiente, você pode adicionar VMs ao destino com implantações. A exibição do histórico de implantação em um ambiente fornece rastreabilidade da VM para o pipeline.
Pré-requisitos
Você deve ter pelo menos uma licença Basic e acesso às seguintes áreas:
- o repositório conectado ao seu pipeline
- a VM que você deseja conectar ao ambiente
Para obter mais informações sobre segurança para Pipelines do Azure, consulte Recursos de segurança de pipeline.
Para adicionar uma VM a um ambiente, você deve ter a função de Administrador para o pool de implantação correspondente. Um pool de implantação é um conjunto de servidores de destino disponíveis para a organização. Saiba mais sobre o pool de implantação e as permissões de ambiente.
Nota
Se você estiver configurando um agente de grupo de implantação ou se vir um erro ao registrar um recurso de ambiente VM, deverá definir o escopo da PAT como Todas as organizações acessíveis.
Criar um recurso de VM
Nota
Você pode usar esse mesmo processo para configurar máquinas físicas com um script de registro.
A primeira etapa para adicionar um recurso de VM é definir um ambiente.
Definir um ambiente
- Selecione Criar ambiente ou Novo ambiente, dependendo se é o seu primeiro ambiente.
- Adicione um Nome (obrigatório) para o ambiente e uma Descrição.
- Salve o novo ambiente.
Adicionar um recurso
Selecione seu ambiente e escolha Adicionar recurso.
Selecione Máquinas virtuais para seu tipo de recurso . Em seguida, selecione Seguinte.
Escolha Windows ou Linux para o sistema operacional.
Copie o script de registro. Seu script será um script PowerShell se você selecionou Windows e um script Linux se você selecionou Linux.
Execute o script copiado em cada uma das máquinas virtuais de destino que você deseja registrar neste ambiente.
- Se você estiver instalando no Windows, precisará executar o script como administrador do PowerShell.
- Se você estiver instalando no Linux, precisará ter permissão para baixar e executar scripts executáveis.
Nota
- O Token de Acesso Pessoal (PAT) para o usuário conectado é incluído no script. A PAT expira no dia em que gera o script.
- Se sua VM já tiver qualquer outro agente em execução, forneça um nome exclusivo para o agente se registrar no ambiente.
- Para saber mais sobre como instalar o script de agente, consulte Agentes Linux auto-hospedados e Agentes Windows auto-hospedados. Os scripts de agente para recursos de VM são como os scripts para agentes auto-hospedados e você pode usar os mesmos comandos.
Depois que sua VM é registrada, ela aparece como um recurso de ambiente na guia Recursos do ambiente.
Para adicionar mais VMs, copie o script novamente. Selecione Adicionar recurso>Máquinas virtuais. Os scripts Windows e Linux são os mesmos para todas as VMs adicionadas ao ambiente.
Quando o script VM é instalado com êxito, sua VM aparece na lista de recursos para o ambiente.
Usar VM em pipelines
Direcione VMs em seu pipeline fazendo referência ao ambiente. Por padrão, o trabalho de pipeline é executado para todas as VMs definidas para um ambiente com um resourceName
arquivo .
trigger:
- main
pool:
vmImage: ubuntu-latest
jobs:
- deployment: VMDeploy
displayName: Deploy to VM
environment:
name: VMenv
resourceName: VMenv
resourceType: virtualMachine
strategy:
runOnce:
deploy:
steps:
- script: echo "Hello world"
Nota
Os resourceType
valores diferenciam maiúsculas de minúsculas. Especificar o invólucro incorreto resultará em nenhum recurso correspondente encontrado no ambiente. Consulte o esquema YAML para obter mais informações.
Você pode selecionar uma máquina virtual específica do ambiente para receber somente a implantação especificando-a pelo .resourceName
Por exemplo, para direcionar a implantação somente para o recurso de Máquina Virtual nomeado USHAN-PC
no ambiente, adicione o VMenv
resourceName
parâmetro e atribua-lhe o valor de USHAN-PC
.
trigger:
- main
pool:
vmImage: ubuntu-latest
jobs:
- deployment: VMDeploy
displayName: Deploy to VM
environment:
name: VMenv
resourceType: virtualMachine
resourceName: USHAN-PC # only deploy to the VM resource named USHAN-PC
strategy:
runOnce:
deploy:
steps:
- script: echo "Hello world"
Para saber mais sobre trabalhos de implantação, consulte o esquema YAML.
Adicionar e gerir etiquetas
As tags oferecem uma maneira de direcionar um conjunto de VMs específicas em um ambiente para implantação. Você pode adicionar tags à VM como parte do script de registro interativo ou por meio da interface do usuário. As tags são limitadas a 256 caracteres cada. Não há limite para o número de tags que você pode usar.
Adicione ou remova tags na interface do usuário da exibição de recursos selecionando Mais ações para um recurso de VM.
Quando você seleciona várias tags, as VMs que incluem todas as tags são usadas em seu pipeline. Por exemplo, esse pipeline tem como alvo VMs com as windows
tags e prod
. Se uma VM tiver apenas uma dessas tags, ela não será direcionada.
trigger:
- main
pool:
vmImage: ubuntu-latest
jobs:
- deployment: VMDeploy
displayName: Deploy to VM
environment:
name: VMenv
resourceType: virtualMachine
tags: windows,prod # only deploy to virtual machines with both windows and prod tags
strategy:
runOnce:
deploy:
steps:
- script: echo "Hello world"
Aplicar estratégia de implantação
Aplique uma estratégia de implantação para definir como seu aplicativo será implementado. A runOnce
estratégia e a rolling
estratégia para VMs são suportadas.
Para obter mais informações sobre estratégias de implantação e ganchos de ciclo de vida, consulte Trabalhos de implantação/Estratégias de implantação.
Ver o histórico de implementações
Selecione a guia Implantações para rastrear completamente as confirmações e itens de trabalho e um histórico de implantação entre pipelines por ambiente e recurso.
Remover uma VM de um ambiente
Ambiente Windows
Para remover VMs de um ambiente Windows, execute o seguinte comando. Certifique-se de executar as seguintes tarefas:
- Execute o comando a partir de um prompt de comando do PowerShell do administrador
- Execute o comando em cada máquina
- Execute o comando no mesmo caminho da pasta em que o comando de registro do ambiente foi executado
./config.cmd remove
Ambiente Linux
Para remover uma VM de um ambiente Linux, execute o seguinte comando em cada máquina.
./config.sh remove
Limitações conhecidas
Quando você tenta novamente um estágio, ele executa novamente a implantação em todas as VMs e não apenas em destinos com falha.
Artigos relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários