Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Em versões anteriores do Azure Pipelines, a implantação de aplicativos em vários servidores exigia planejamento e manutenção significativos. A comunicação remota do Windows PowerShell precisava ser habilitada manualmente, portas específicas precisavam ser abertas e os agentes de implantação precisavam ser instalados em cada servidor. O gerenciamento de implantações de distribuição também exigia intervenção manual. Esses desafios foram muito simplificados com a introdução de Grupos de Implantação.
Um grupo de implantação instala um agente de implantação em cada servidor de destino no grupo e permite que o pipeline de lançamento implante gradualmente o aplicativo entre esses servidores. Você pode criar vários pipelines para implantações de distribuição, permitindo a entrega em fases de atualizações de aplicativos para diferentes grupos de usuários.
Observação
Os grupos de implantação são usados em pipelines clássicos. Se você estiver usando pipelines YAML, consulte Ambientes.
Pré-requisitos
| Produto | Requisitos |
|---|---|
| Azure DevOps | - Uma organização do Azure DevOps. - Um projeto do Azure DevOps . |
| Gerador de Demonstração do Azure DevOps |
-
Configure o Gerador de Demonstração. – Crie um novo projeto do Azure DevOps e escolha o modelo DeploymentGroups (número 15 na lista). |
| Azure | – Uma assinatura do Azure. |
Configurar recursos no Azure
Esta seção orienta você na configuração dos recursos do Azure usando um modelo do ARM. Ele provisiona seis servidores Web de VM (Máquina Virtual) com o IIS configurado, uma VM do SQL Server (servidor DB), um Azure Load Balancer e todas as conexões de rede necessárias.
Selecione o botão
para iniciar a implantação de seus recursos no Azure.
Preencha as informações necessárias e selecione Examinar + criar. Você pode usar qualquer combinação permitida de nomes de usuário e senhas, pois elas não serão usadas novamente neste tutorial. O Nome do Prefixo de Desenvolvimento é adicionado a todos os nomes de recursos para garantir a exclusividade global. Use algo pessoal ou aleatório. Se você encontrar um conflito de nomenclatura durante a validação ou criação, tente alterar esse valor e reimplantar. O provisionamento normalmente leva de 10 a 15 minutos.
Após a conclusão da validação, selecione Criar para implantar seus recursos.
Depois que a implantação for concluída, vá para o grupo de recursos no portal do Azure para examinar os recursos gerados. Selecione a VM do servidor DB com sqlSrv em seu nome para exibir seus detalhes.
Copie o nome DNS , pois você precisará dele em uma etapa posterior.
Criar um grupo de implantação
Um grupo de implantação é uma coleção de computadores, cada um com um agente de implantação instalado. Esses computadores se comunicam com o Azure Pipelines para coordenar implantações de aplicativos.
Navegue até o projeto do Azure DevOps criado anteriormente usando o gerador de demonstração.
Selecione Pipelines>Grupos de Implantação.
Selecione Adicionar um grupo de implantação.
Insira a versão como o nome do grupo de implantação e selecione Criar. Um script de registro será gerado. Você pode usar esse script para registrar servidores de destino e instalar o agente de implantação manualmente. No entanto, neste tutorial, os servidores de destino são registrados automaticamente como parte do pipeline de lançamento.
Criar um token de acesso pessoal
No projeto do Azure DevOps, selecione o ícone Configurações do Usuário e selecione Tokens de Acesso Pessoal.
Selecione Novo Token, insira um nome para seu PAT e escolha uma data de validade.
Selecione Personalizado definido para Escopos, selecione Mostrar todos os escopos e, em seguida, verifique os seguintes escopos:
- Project e Team ->Read &write.
- Pools de agentes ->Ler &gerenciar
- Grupos de implantação –>Ler &gerenciar.
Selecione Criar quando terminar e copie seu PAT, pois você precisará dele na seção a seguir.
Configurar o pipeline de lançamento
O modelo de pipeline de versão clássica inclui um trabalho de agente, a fase Agent, que executa tarefas em um agente em um pool de agentes. Ele também inclui dois trabalhos de grupo de implantação: a fase de grupo de implantação e a fase de implantação do IIS. Trabalhos de grupo de implantação executam tarefas em computadores definidos em um grupo de implantação. Siga as etapas abaixo para configurar cada trabalho.
Configurar o trabalho do agente
Navegue até seu projeto do Azure DevOps e selecione Lançamentos>de Pipelines.
Selecione a definição de versão de Grupos de Implantação e, em seguida, selecione Editar.
Selecione a guia Tarefas para exibir as tarefas de implantação no pipeline.
Selecione o estágio de fase do Agente e escolha o pool do Azure Pipelines e a especificação mais recente do Windows .
Selecione a tarefa Implantação do Grupo de Recursos do Azure , selecione a assinatura do Azure usada anteriormente para criar seus recursos e selecione Autorizar para autorizar a conexão. Depois de autorizado, selecione o grupo de recursos que você criou para este tutorial.
Essa tarefa será executada em máquinas virtuais no Azure e deve ser capaz de se conectar novamente ao pipeline para concluir os requisitos do grupo de implantação. Para proteger a conexão, uma conexão de serviço deve ser configurada usando o PAT (Token de Acesso Pessoal) criado anteriormente. Role para baixo dentro da mesma tarefa e selecione Novo na conexão de serviço do Azure Pipelines.
No painel Nova conexão de serviço , insira a URL de Conexão da sua organização
https://dev.azure.com/organizationNamedo Azure DevOps. Cole o Token de Acesso Pessoal criado anteriormente, especifique um nome de conexão de serviço e marque a permissão Conceder acesso a todas as caixas de pipelines . Selecione Verificar e salvar quando terminar.
Role para baixo na tarefa Implantação do Grupo de Recursos do Azure e selecione nos menus suspensos seu projeto de equipe e o Grupo de Implantação que você criou anteriormente.
Configurar os trabalhos do grupo de implantação
Na definição de versão grupos de implantação , selecione o trabalho de fase de grupo de implantação . Esse trabalho executa tarefas nos computadores definidos no grupo de implantação. Esse trabalho usa a marca SQL-Svr-DB para implantar em um subconjunto de destinos no grupo de implantação. Na lista suspensa Grupo de Implantação , selecione o grupo de implantação de versão criado anteriormente.
Selecione o trabalho de fase de implantação do IIS . Este trabalho usa a marca WebSrv para implantar o aplicativo Web em um subconjunto dos servidores Web. Escolha o Grupo de Implantação que você criou anteriormente na lista suspensa.
As tarefas Desconectar o Load Balancer de Rede do Azure e conectar o Load Balancer de Rede do Azure foram preteridas. por enquanto, você pode desabilitá-los clicando com o botão direito do mouse na tarefa e selecionando Desabilitar tarefas selecionadas.
As tarefas Gerenciamento de Aplicativo Web do IIS e Implantação de Aplicativo Web do IIS são preenchidas previamente e não exigem alterações.
Selecione a guia Variáveis no canto superior esquerdo, selecione variáveis de pipeline e forneça os valores a seguir. Substitua o espaço reservado na variável DefaultConnectionString pelo nome DNS do SQL Server copiado anteriormente:
Nome da Variável Valor da Variável Nome do Banco de Dados PartsUnlimited-Dev DBPassword xxxxxxxxx DBUserName xxxxxxxxx DefaultConnectionString Fonte de Dados=[YOUR_DNS_NAME]; Initial Catalog=PartsUnlimited-Dev; ID do usuário=xxxxxxxxx;Password=xxxxxxxx;MultipleActiveResultSets=False; Tempo limite de conexão=30; Nome do Servidor host local Selecione Salvar, adicione um comentário se desejar e selecione Ok.
Dica
Se você receber um erro de que a variável DefaultConnectionString deve ser salva como um segredo, selecione o ícone de cadeado ao lado de seu valor para protegê-la.
Criar um aplicativo de lançamento e implantação
Agora que a definição de versão está configurada e salva, você pode continuar a criar uma versão para implantar seu aplicativo Web no Azure. No entanto, antes de iniciar a versão, você precisa verificar se o pipeline de build foi executado pelo menos uma vez. Isso gera o artefato de pipeline necessário para implantação. Se você tentar executar o pipeline de lançamento antes do pipeline de build, a seção Artefatos no painel de lançamento estará vazia. Siga as etapas abaixo para executar o pipeline, gerar um artefato de pipeline e, em seguida, criar uma nova versão:
No projeto do Azure DevOps, selecione Pipeline e, em seguida, selecione o pipeline de build dos Grupos de Implantação .
Selecione Executar pipeline. No painel de execução do pipeline, selecione a especificação do Agente e, em seguida, selecione Executar.
Depois que o pipeline for concluído com êxito, ele gerará um artefato de pipeline. Você pode exibi-lo na janela de resumo do pipeline:
Agora vá para aVersão do>, selecione sua definição de versão e, em seguida, selecione Criar versão para iniciar o pipeline de implantação.
Selecione Criar quando terminar e selecione a execução do pipeline para abrir a visão geral. Você deve ver seu pipeline em andamento. Clique no estágio para exibir os logs de implantação detalhados.
Na janela de resumo, você pode ver o status de cada fase da implantação:
Resolução de problemas
- Não é possível se conectar ao servidor mestre ou de destino ou a conexão A foi estabelecida com êxito com o servidor, mas ocorreu um erro durante o processo de logon.
Se você encontrar um desses erros durante a execução da tarefa Implantação do Sql Dacpac no Grupo de Máquinas , siga estas etapas:
- Verifique seu banco de dados:
Verifique se o banco de dados foi criado com êxito durante a implantação do recurso. Você pode confirmar isso usando a CLI do Azure ou o sqlcmd:
sqlcmd -S <server-name> -U <username> -P <password> -Q "SELECT name FROM sys.databases"
Se o banco de dados não estiver presente na lista, você poderá criar um usando o seguinte comando:
sqlcmd -S <server-name> -U <username> -P <password> -Q "CREATE DATABASE [YourDatabaseName]"
- Verifique sua Autenticação do SQL Server:
Verifique se a Autenticação do SQL Server está habilitada, seu SQL Server deve ser configurado para permitir a Autenticação do SQL e do Windows (Modo Misto). Para habilitar isso:
a. Conectar-se usando SSMS ou sqlcmd
b. Execute a seguinte consulta:
EXEC xp_instance_regwrite
N'HKEY_LOCAL_MACHINE',
N'Software\\Microsoft\\MSSQLServer\\MSSQLServer',
N'LoginMode',
REG_DWORD,
2;
c. Reinicie o serviço do SQL Server para que a alteração entre em vigor:
net stop MSSQLSERVER
net start MSSQLSERVER
- Alguns dos meus agentes estão offline mesmo que o agente esteja em execução na minha VM
Se um ou mais de seus agentes estiverem aparecendo como offline, você pode tentar algumas coisas. Primeiro, faça logon na VM em que o agente está em execução e execute o comando a seguir para verificar se a VM está sendo resolvida para o mesmo conjunto de IPs.
nslookup dev.azure.com
Se todas as VMs estiverem resolvendo para o mesmo conjunto de IPs, verifique se o balanceador de carga está configurado com a regra de saída correta. Você pode adicionar um pool de back-end ao balanceador de carga no Azure, adicionar as NICs de suas VMs ao pool de back-end e associá-lo à regra de saída do balanceador de carga. Para fazer isso:
Navegue até o Azure e localize o balanceador de carga.
Selecione pools de back-end, escolha seu pool existente ou crie um novo e adicione seus servidores Web em configurações de IP.
Vá para regras de balanceamento de carga, selecione sua regra de balanceamento de carga e escolha seu pool de back-end na lista suspensa do pool de back-end .
Limpar os recursos
Este tutorial criou um projeto do Azure DevOps e implantou recursos no Azure. Se você não precisar mais deles, siga estas etapas para limpar:
Excluir o projeto do Azure DevOps: navegue até aexclusão da visão geral> das configurações> do Projeto.
Excluir o Grupo de Recursos do Azure todos os recursos do Azure criados durante este tutorial foram colocados no mesmo grupo de recursos. Excluir o grupo de recursos removerá todos os recursos associados. Você pode fazer isso por meio do portal do Azure ou da CLI:
Azure CLI
az group delete --name <RESOURCE_GROUP_NAME> --yes --no-waitPortal do Azure
Navegue até os > do portal do Azure.
Selecione o grupo de recursos usado no tutorial.
Selecione Excluir grupo de recursos, confirme o nome e selecione Excluir.