Gerenciar recursos de VM em ambientes
Serviços de DevOps do Azure | Azure DevOps Server 2022 | Azure DevOps Server 2020
Este artigo descreve como usar recursos de máquina virtual (VM) em ambientes para gerenciar implantações do Azure Pipelines em várias máquinas. Você também pode instalar agentes em seus próprios servidores para implantações contínuas.
Os recursos de VM podem existir em ambientes, como Desenvolvimento, Teste ou Produção. Depois de definir um ambiente, você pode adicionar VMs ao destino com implantações. O histórico de implantação do ambiente fornece rastreabilidade de cada VM para seu pipeline.
Pré-requisitos
- Acesso a um repositório de origem conectado ao seu pipeline.
- Acesso e permissão para baixar e executar scripts executáveis nas VMs que você deseja conectar ao ambiente.
- Permissões de Administrador de Projeto ou Administrador de Criação no projeto Azure DevOps que contém o ambiente. Para obter mais informações, consulte Recursos de segurança de pipeline.
- Função de administrador para o pool de implantação ou conjunto de servidores de destino disponíveis para a organização. Para obter mais informações, consulte Pool de implantação e permissões de ambiente.
Nota
Para configurar um agente de grupo de implantação ou se você vir um erro ao registrar um recurso de ambiente VM, certifique-se de definir seu escopo de token de acesso pessoal (PAT) como Todas as organizações acessíveis.
Criar o ambiente
Use o procedimento a seguir para adicionar um recurso de VM a um ambiente. Você pode usar o mesmo processo para configurar máquinas físicas.
Adicionar um recurso de VM
No seu projeto de DevOps do Azure, vá para Ambientes de Pipelines>e selecione Criar ambiente ou Novo ambiente.
Na primeira tela Novo ambiente, adicione um Nome e uma Descrição opcional.
Em Recurso, selecione Máquinas virtuais e, em seguida, selecione Avançar.
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.
Na próxima tela Novo ambiente , escolha Linux em Sistema operacional.
Copie o script de registro do 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.
Executar o script copiado
Selecione Fechar e observe que o novo ambiente foi criado. Para copiar o script novamente, por exemplo, se a PAT expirar, selecione Adicionar recurso.
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 o agente se registrar no ambiente.
Depois que a VM é registrada, ela aparece como um recurso na guia Recursos do ambiente.
Usar VMs em pipelines
Em seu pipeline YAML, você pode direcionar VMs fazendo referência ao seu ambiente. Por padrão, o trabalho tem como alvo todas as VMs registradas para o resourceName
.
Nota
Quando você tenta novamente um estágio, a implantação é executada novamente em todas as VMs, não apenas em destinos com falha.
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 como virtualMachine
diferenciam maiúsculas de minúsculas. Invólucro incorreto resulta em nenhum recurso correspondente encontrado.
Você pode implantar em VMs específicas no ambiente especificando-as em resourceName
. 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 VM
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"
Para obter mais informações sobre trabalhos de implantação de pipeline YAML, consulte o esquema de pipelines YAML.
Adicionar e gerir etiquetas
As tags são uma maneira de direcionar um conjunto específico de VMs em um ambiente para implantação. As tags são limitadas a 256 caracteres cada. Não há limite para o número de tags que você pode usar.
Você pode adicionar tags ou remover tags para VMs no script de registro interativo ou por meio da interface do usuário selecionando Mais ações para um recurso de VM.
Se você especificar várias tags, o pipeline usará apenas VMs que incluem todas as tags. O exemplo a seguir destina-se apenas a VMs que têm as windows
tags e prod
. As VMs que têm apenas uma ou nenhuma das tags não são direcionadas.
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"
Aplicar estratégia de implantação
Você pode aplicar uma implantação strategy
para definir como implantar seu aplicativo. As VMs suportam tanto as estratégias como as runOnce
rolling
estratégias. Para obter mais informações sobre estratégias de implantação e ganchos de ciclo de vida, consulte 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
Para remover uma VM de um ambiente Linux, execute o seguinte comando em cada máquina.
./config.sh remove