Partilhar via


Implantar aplicativos Spring Boot usando o Maven

Nota

Azure Spring Apps é o novo nome para o serviço Azure Spring Cloud. Embora o serviço tenha um novo nome, você verá o nome antigo em alguns lugares 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 aplica-se a: ✔️ Basic/Standard ✔️ Enterprise

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

Pré-requisitos

Gerar um projeto Spring

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

  1. Navegue até o Spring Initializr para gerar um projeto de exemplo com as dependências recomendadas para o Azure Spring Apps. Este link usa o seguinte URL para fornecer configurações padrão para você.

    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 mostra a configuração recomendada do Spring Initializr para este projeto de exemplo.

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

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

  2. Selecione Gerar quando todas as dependências estiverem definidas.

  3. Baixe e descompacte o pacote e, em seguida, crie um controlador da Web para um aplicativo da Web. Adicione o arquivo src/main/java/com/example/hellospring/HelloController.java com o seguinte conteúdo:

    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 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ído, você deve ter arquivos JAR individuais para cada serviço em suas respetivas 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, procure Azure Spring Apps.

  3. Selecione Azure Spring Apps nos resultados.

  4. Na página Azure Spring Apps, selecione Criar.

    Captura de ecrã do portal do Azure que mostra um recurso do Azure Spring Apps com o botão Criar realçado.

  5. Preencha o formulário na página Criar Aplicativos do Azure Spring. Tenha em consideração as seguintes orientações:

    • Subscrição: selecione a subscrição que pretende que lhe seja cobrada por este recurso.
    • Grupo de recursos: Criar novos grupos de recursos para novos recursos é uma prática recomendada. Você usará esse grupo de recursos em etapas posteriores como <nome> do grupo de recursos.
    • Detalhes do serviço/nome: especifique 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 hífenes. 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 para sua instância de serviço.

    Captura de ecrã do portal do Azure que mostra a página Criar Aplicações Azure Spring.

  6. Selecione Rever 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 seguinte comando a partir da pasta raiz hellospring , que contém o arquivo POM. Se você já entrou com a CLI do Azure, o comando coletará automaticamente as credenciais. Caso contrário, o comando solicitará instruções de entrada. Para obter mais informações, consulte Autenticação no repositório azure-maven-plugins no GitHub.

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

    Ser-lhe-á pedido que selecione:

    • ID da Subscrição - a subscrição que utilizou 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 artifactIdpadrão .
    • Ponto de extremidade - público true para expor o aplicativo ao acesso público, caso contrário, false.
  2. Verifique se o appName elemento 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>
    

    O arquivo POM agora contém as dependências e configurações do plugin.

  3. Implante o aplicativo usando o seguinte comando.

    mvn azure-spring-apps:deploy
    

Verificar os serviços

Após a conclusão da implantação, você pode acessar o aplicativo em https://<service instance name>-hellospring.azuremicroservices.io/.

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

Clean up resources (Limpar recursos)

Se você planeja continuar trabalhando com o aplicativo de exemplo, convém deixar os recursos no lugar. 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óximos passos