Configurar um ambiente de preparo no Aplicativos Spring do Azure
Observação
Os planos Básico, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de desativação de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira o anúncio de desativação dos Aplicativos Spring do Azure.
O plano Standard de consumo e dedicado será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira Migrar o plano Standard de consumo e dedicado dos Aplicativos Spring do Azure para os Aplicativos de Contêiner do Azure.
Este artigo aplica-se a: ✔️ Java ❌ C#
Este artigo se aplica aos níveis:❌ ✔️ Básico ✔️ Standard ✔️ Enterprise
Este artigo explica como configurar uma implantação de preparo usando o padrão de implantação azul-verde no Azure Spring Apps. A implantação azul-verde é um padrão de entrega contínua do DevOps do Azure que se baseia em manter uma versão existente (azul) ativa, enquanto uma nova (verde) é implantada. Este artigo demonstra como colocar essa implantação de preparo em produção sem alterar diretamente a implantação de produção.
Pré-requisitos
- Uma instância existente dos Aplicativos Spring do Azure no plano Standard.
- CLI do Azure.
Este artigo usa um aplicativo criado a partir do Spring Initializr. Para usar um aplicativo diferente neste exemplo, faça uma alteração em uma parte pública do aplicativo a fim de diferenciar sua implantação de preparo da implantação de produção.
Dica
O Azure Cloud Shell é um shell gratuito e interativo que pode ser usado para seguir as instruções deste artigo. Ele tem ferramentas comuns e pré-instaladas do Azure, incluindo as versões mais recentes do Git, do JDK, do Maven e da CLI do Azure. Se estiver conectado à sua assinatura do Azure, inicie a instância do Azure Cloud Shell. Para saber mais, consulte Visão geral do Azure Cloud Shell.
Para configurar a implantação azul-verde no Azure Apps, siga as instruções nas próximas seções.
Instale a extensão da CLI do Azure
Instale a extensão dos Aplicativos Spring do Azure para a CLI do Azure usando o seguinte comando:
az extension add --name spring
Prepare o aplicativo e as implantações
Para criar a aplicação, siga estes passos:
Gere o código para o aplicativo de exemplo usando o Spring Initializr com esta configuração.
Baixe o código.
Adicione o seguinte arquivo de origem HelloController.java à pasta *\src\main\java\com\example\hellospring*:
package com.example.hellospring; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RequestMapping; @RestController public class HelloController { @RequestMapping("/") public String index() { return "Greetings from Azure Spring Apps!"; } }
Crie o arquivo .jar:
mvn clean package -DskipTests
Crie o aplicativo em sua instância do Azure Spring Apps:
az spring app create \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name demo \ --runtime-version Java_17 \ --assign-endpoint
Implante o aplicativo no Azure Spring Apps:
az spring app deploy \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name demo \ --artifact-path target\hellospring-0.0.1-SNAPSHOT.jar
Modifique o código para a implantação de preparo:
package com.example.hellospring; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RequestMapping; @RestController public class HelloController { @RequestMapping("/") public String index() { return "Greetings from Azure Spring Apps! THIS IS THE GREEN DEPLOYMENT"; } }
Recrie o arquivo .jar:
mvn clean package -DskipTests
Crie a implantação verde:
az spring app deployment create \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --app demo \ --name green \ --runtime-version Java_17 \ --artifact-path target\hellospring-0.0.1-SNAPSHOT.jar
Exiba os aplicativos e as implantações
Siga as etapas a seguir para exibir os aplicativos implantados.
Vá para a sua instância do Azure Spring Apps no portal do Azure.
No painel de navegação, abra o painel Aplicativos para exibir aplicativos para sua instância de serviço.
Selecione um aplicativo para ver os detalhes.
Abra Implantações para ver todas as implantações do aplicativo. A grade mostra as implantações de produção e de preparo.
Selecione a URL para abrir o aplicativo atualmente implantado.
Selecione Produção na coluna Estado para ver o aplicativo padrão.
Selecione Preparo na coluna Estado para ver o aplicativo de preparo.
Dica
Confirme se o ponto de extremidade de teste termina com uma barra (/) para garantir que o arquivo CSS seja carregado corretamente. Se o navegador exigir que você insira as credenciais de logon para exibir a página, use Decodificação de URL para decodificar o ponto de extremidade de teste. A decodificação de URL retorna uma URL no formato https://\<username>:\<password>@\<cluster-name>.test.azuremicroservices.io/demo/green
. Use esse formato para acessar seu ponto de extremidade. Se você quiser desabilitar a autenticação básica para o ponto de extremidade de teste, execute o seguinte comando da CLI do Azure: az spring app update --resource-group <resource-group-name> --service <Azure-Spring-Apps-instance-name> --name demo --disable-test-endpoint-auth true
Observação
As configurações do servidor de configuração se aplicam tanto ao ambiente de preparo quanto ao ambiente de produção. Por exemplo, se o caminho do contexto (server.servlet.context-path) for definido para a demonstração do aplicativo no servidor de configuração como somepath, o caminho para suas alterações de implantação verde muda para https://\<username>:\<password>@\<cluster-name>.test.azuremicroservices.io/demo/green/somepath/...
.
Se você visitar a demonstração de aplicativo voltada para o público agora, verá a página antiga sem a nova alteração.
Defina a implantação verde como o ambiente de produção
Depois de verificar a alteração no ambiente de preparo, você pode enviá-la por push para a produção. Na página Implantações>de Aplicativo, selecione o aplicativo atualmente em Produção.
Selecione as reticências após o Status de registro da implantação verde e, em seguida, selecione Definir como produção.
Confirme se a URL do aplicativo exibe as alterações.
Observação
Quando a implantação verde estiver definida como ambiente de produção, a implantação anterior se tornará a implantação de preparo.
Modificar a implantação de preparo
Se não estiver satisfeito com a alteração, você pode modificar o código do aplicativo, criar um novo pacote .jar e fazer seu upload na implantação verde usando a CLI do Azure:
az spring app deploy \
--resource-group <resource-group-name> \
--service <service-instance-name> \
--name demo \
--deployment green \
--artifact-path demo.jar
Excluir a implantação de preparo
Para excluir a implantação de preparo do portal do Azure, acesse a página da implantação de preparo e selecione o botão Excluir.
Como alternativa, exclua sua implantação de preparo da CLI do Azure executando o seguinte comando:
az spring app deployment delete \
--resource-group <resource-group-name> \
--service <service-instance-name> \
--name <staging-deployment-name> \
--app demo