Implantar aplicativos Spring Boot usando o Maven

Observação

Azure Spring Apps é o novo nome do serviço Azure Spring Cloud. Embora o serviço tenha um novo nome, você verá o nome antigo em alguns locais por um tempo enquanto trabalhamos para atualizar ativos como capturas de tela, vídeos e diagramas.

Este artigo aplica-se a: ✔️ Java ❌ C#

Este artigo se aplica ao: ✔️ nível Básico/Standard ✔️ nível Enterprise

Este artigo mostra como usar o plug-in Maven do Azure Spring Apps para configurar e implantar aplicativos no Azure Spring Apps.

Pré-requisitos

Gerar um projeto do Spring

Para criar um projeto do Spring para uso neste artigo, use as seguintes etapas:

  1. Acesse o Spring Initializr para gerar um projeto de exemplo com as dependências recomendadas para o Azure Spring Apps. Este link usa a URL a seguir para fornecer as configurações padrão.

    https://start.spring.io/#!type=maven-project&language=java&platformVersion=2.5.7&packaging=jar&jvmVersion=1.8&groupId=com.example&artifactId=hellospring&name=hellospring&description=Demo%20project%20for%20Spring%20Boot&packageName=com.example.hellospring&dependencies=web,cloud-eureka,actuator,cloud-config-client
    

    A imagem a seguir mostrará a configuração recomendada do Spring Initializr para este projeto de exemplo.

    Captura de tela da página Spring Initializr mostrando as configurações recomendadas.

    Este exemplo usa o Java versão 8. Se quiser usar o Java versão 11, altere a opção em Metadados do projeto.

  2. Clique em Gerar após definir todas as dependências.

  3. Baixe e descompacte o pacote e crie um controlador da Web para um aplicativo Web. Adicione o arquivo src/main/java/com/example/hellospring/HelloController.java com os seguintes conteúdos:

    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!";
        }
    
    }
    

Compilar os aplicativos Spring localmente

Para criar o projeto usando o Maven, execute os seguintes comandos:

cd hellospring
mvn clean package -DskipTests -Denv=cloud

A compilação do projeto leva vários minutos. Depois de concluída, você deverá ter arquivos JAR individuais para cada serviço em suas respectivas pastas.

Provisionar uma instância do Azure Spring Apps

O procedimento a seguir cria uma instância do Azure Spring Apps usando o portal do Azure.

  1. Em uma nova guia, abra o portal do Azure.

  2. Na caixa de pesquisa superior, pesquise por Azure Spring Apps.

  3. Selecione Azure Spring Apps nos resultados.

    Captura de tela do portal do Microsoft Azure mostrando o serviço Aplicativos Spring do Azure nos resultados da pesquisa.

  4. Na página do Azure Spring Apps, clique em Criar.

    Captura de tela do portal do Microsoft Azure mostrando um recurso do Aplicativos Spring do Azure com o botão Criar realçado.

  5. Preencha o formulário na página Criar do Azure Spring Apps. Considere as seguintes diretrizes:

    • Assinatura: selecione a assinatura da qual você deseja que este recurso seja cobrado.
    • Grupo de recursos: a criação de grupos de recursos para novos recursos é uma melhor prática. Você usará esse grupo de recursos em etapas posteriores como <nome do grupo de recursos>.
    • Nome/Detalhes do Serviço: especifica o <nome da instância de serviço>. O nome deve ter entre 4 e 32 caracteres e pode conter apenas letras minúsculas, números e hifens. O primeiro caractere do nome do serviço deve ser uma letra e o último caractere deve ser uma letra ou um número.
    • Localização: selecione a região da instância de serviço.

    Captura de tela do portal do Azure mostrando a página Criar do Aplicativos Spring do Azure.

  6. Selecione Examinar e criar.

Gerar configurações e implantar no Azure Spring Apps

Para gerar configurações e implantar o aplicativo, siga estas etapas:

  1. Execute o comando a seguir na pasta raiz hellospring, que contém o arquivo POM. Se você já tiver entrado com a CLI do Azure, o comando selecionará automaticamente as credenciais. Caso contrário, o comando solicitará instruções de entrada. Para obter mais informações, confira Autenticação no repositório azure-maven-plugins no GitHub.

    mvn com.microsoft.azure:azure-spring-apps-maven-plugin:1.10.0:config
    

    Você precisará selecionar:

    • ID da assinatura: a assinatura usada para criar uma instância do Azure Spring Apps.
    • Instância de serviço: o nome da sua instância do Azure Spring Apps.
    • Nome do aplicativo: um nome de aplicativo de sua escolha ou use o valor padrão artifactId.
    • Ponto de extremidade público - true para expor o aplicativo ao acesso público. Caso contrário, false.
  2. Verifique se o elemento appName no arquivo POM tem o valor correto. A parte relevante do arquivo POM deve ser semelhante ao exemplo a seguir.

    <build>
        <plugins>
            <plugin>
                <groupId>com.microsoft.azure</groupId>
                <artifactId>azure-spring-apps-maven-plugin</artifactId>
                <version>1.10.0</version>
                <configuration>
                    <subscriptionId>xxxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx</subscriptionId>
                    <clusterName>v-spr-cld</clusterName>
                    <appName>hellospring</appName>
    

    Agora o POM contém as dependências e configurações do plug-in.

  3. Implante os aplicativos usando o comando a seguir.

    mvn azure-spring-apps:deploy
    

Verificar os serviços

Depois que a implantação for concluída, acesse o aplicativo em https://<service instance name>-hellospring.azuremicroservices.io/.

Captura de tela do aplicativo hello spring como visto no navegador.

Limpar os recursos

Se planejar continuar trabalhando com o aplicativo de exemplo, deixe esses recursos onde estão. Quando não for mais necessário, exclua o grupo de recursos que contém sua instância do Azure Spring Apps. Para excluir o grupo de recursos usando a CLI do Azure, use os seguintes comandos:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Próximas etapas