Configurar um ambiente de preparo no Azure Spring Apps
Nota
Os planos Basic, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de aposentadoria de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte o anúncio de aposentadoria do Azure Spring Apps.
O plano de consumo padrão 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 obter mais informações, consulte Migrar consumo padrão e plano dedicado do Azure Spring Apps para Aplicativos de Contêiner do Azure.
Este artigo aplica-se a: ✔️ Java ❌ C#
Este artigo aplica-se a:❌ Basic ✔️ 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 Azure DevOps que depende de manter uma versão existente (azul) ativa enquanto uma nova (verde) é implantada. Este artigo mostra como colocar essa implantação de preparo em produção sem alterar a implantação de produção.
Pré-requisitos
- Uma instância existente do Azure Spring Apps no plano Standard.
- CLI do Azure.
Este artigo usa um aplicativo criado a partir do Spring Initializr. Se você quiser usar um aplicativo diferente para este exemplo, faça uma alteração em uma parte voltada para o público do aplicativo para diferenciar sua implantação de preparo da implantação de produção.
Gorjeta
O Azure Cloud Shell é um shell interativo gratuito que você pode usar para executar as instruções neste artigo. Ele tem ferramentas comuns do Azure pré-instaladas, incluindo as versões mais recentes do Git, JDK, Maven e a CLI do Azure. Se você estiver conectado à sua assinatura do Azure, inicie sua instância do Cloud Shell. Para saber mais, consulte Visão geral do Azure Cloud Shell.
Para configurar a implantação azul-verde no Azure Spring Apps, siga as instruções nas próximas seções.
Instalar a extensão da CLI do Azure
Instale a extensão do Azure Spring Apps para a CLI do Azure usando o seguinte comando:
az extension add --name spring
Preparar o aplicativo e as implantações
Para criar o aplicativo, execute estas etapas:
Gere o código para o aplicativo de exemplo usando o Spring Initializr com essa configuração.
Faça o download do 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 sua 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"; } }
Reconstrua 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
Exibir aplicativos e implantações
Use as etapas a seguir para exibir aplicativos implantados.
Vá para 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 preparação.
Selecione a URL para abrir o aplicativo implantado no momento.
Selecione Produção na coluna Estado para ver o aplicativo padrão.
Selecione Preparo na coluna Estado para ver o aplicativo de preparo.
Gorjeta
Confirme se o ponto de extremidade de teste termina com uma barra (/) para garantir que o arquivo CSS seja carregado corretamente. Se o seu navegador exigir que você insira credenciais de login para exibir a página, use a decodificação de URL para decodificar seu 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 este formato para acessar seu ponto de extremidade. Se você quiser desabilitar a autenticação básica para seu 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
Nota
As definições do servidor de configuração aplicam-se ao ambiente de preparação e ao ambiente de produção. Por exemplo, se você definir o caminho de contexto (server.servlet.context-path) para sua demonstração de aplicativo no servidor de configuração como somepath, o caminho para sua implantação verde será alterado para https://\<username>:\<password>@\<cluster-name>.test.azuremicroservices.io/demo/green/somepath/...
.
Se você visitar sua demonstração de aplicativo voltada para o público neste momento, deverá ver a página antiga sem a nova alteração.
Definir a implantação verde como o ambiente de produção
Depois de verificar a alteração no ambiente de preparação, você pode enviá-la para a produção. Na página Implantações de aplicativos>, selecione o aplicativo atualmente em produção.
Selecione as reticências após Status de registro da implantação verde e, em seguida, selecione Definir como produção.
Confirme se o URL da aplicação apresenta as suas alterações.
Nota
Depois de definir a implantação verde como o ambiente de produção, a implantação anterior se torna 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 de .jar e carregá-lo em sua 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 sua implantação de preparo do portal do Azure, vá para a página de sua 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