Distribuire applicazioni Spring Boot con Maven

Nota

I piani Basic, Standard ed Enterprise saranno deprecati a partire dalla metà di marzo 2025, con un periodo di ritiro di 3 anni. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.

Il piano Standard a consumo e dedicato sarà deprecato a partire dal 30 settembre 2024, con un arresto completo dopo sei mesi. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere Eseguire la migrazione del consumo di Azure Spring Apps Standard e del piano dedicato alle app Azure Container.

Questo articolo si applica a: ✔️ Java ❌ C#

Questo articolo si applica a: ✔️ Basic/Standard ✔️ Enterprise

Questo articolo illustra come usare il plug-in Maven di Azure Spring Apps per configurare e distribuire applicazioni in Azure Spring Apps.

Prerequisiti

Generare un progetto Spring

Per creare un progetto Spring da usare in questo articolo, seguire questa procedura:

  1. Passare a Spring Initializr per generare un progetto di esempio con le dipendenze consigliate per Azure Spring Apps. Questo collegamento usa l'URL seguente per fornire le impostazioni predefinite.

    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
    

    L'immagine seguente mostra la configurazione consigliata di Spring Initializr per questo progetto di esempio.

    Screenshot della pagina Spring Initializr che mostra le impostazioni consigliate.

    Questo esempio usa Java versione 8. Se si vuole usare Java versione 11, modificare l'opzione in Metadati del progetto.

  2. Selezionare Genera quando vengono impostate tutte le dipendenze.

  3. Scaricare e decomprimere il pacchetto, quindi creare un controller Web per un'applicazione Web. Aggiungere il file src/main/java/com/example/hellospring/HelloController.java con il contenuto seguente:

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

Compilare le applicazioni Spring in locale

Per compilare il progetto usando Maven, eseguire i comandi seguenti:

cd hellospring
mvn clean package -DskipTests -Denv=cloud

La compilazione del progetto richiede alcuni minuti. Al termine, è necessario avere singoli file JAR per ogni servizio nelle rispettive cartelle.

Effettuare il provisioning di un'istanza di Azure Spring Apps

La procedura seguente crea un'istanza di Azure Spring Apps usando il portale di Azure.

  1. In una nuova scheda accedere al portale di Azure.

  2. Nella casella di ricerca in alto cercare App Spring di Azure.

  3. Selezionare Azure Spring Apps nei risultati.

  4. Nella pagina Azure Spring Apps selezionare Crea.

    Screenshot del portale di Azure che mostra una risorsa di Azure Spring Apps con il pulsante Crea evidenziato.

  5. Compilare il modulo nella pagina di creazione di Azure Spring Apps. Considerare le linee guida seguenti:

    • Sottoscrizione: selezionare la sottoscrizione da fatturare per questa risorsa.
    • Gruppo di risorse: la creazione di nuovi gruppi di risorse per le nuove risorse è una procedura consigliata. Questo gruppo di risorse verrà usato nei passaggi successivi come <nome> del gruppo di risorse.
    • Dettagli servizio/Nome: specificare il nome> dell'istanza del <servizio. Il nome deve essere composto da 4-32 caratteri e può contenere solo lettere in minuscolo, numeri e trattini. Il primo carattere del nome del servizio deve essere una lettera e l'ultimo deve essere una lettera o un numero.
    • Località: selezionare l'area per l'istanza del servizio.

    Screenshot della portale di Azure che mostra la pagina Azure Spring Apps Create (Creazione di App Azure Spring).

  6. Seleziona Rivedi e crea.

Generare configurazioni e distribuire in Azure Spring Apps

Per generare configurazioni e distribuire l'app, seguire questa procedura:

  1. Eseguire il comando seguente dalla cartella radice hellospring , che contiene il file POM. Se è già stato eseguito l'accesso con l'interfaccia della riga di comando di Azure, il comando rileverà automaticamente le credenziali. In caso contrario, il comando richiederà istruzioni di accesso. Per altre informazioni, vedere Autenticazione nel repository azure-maven-plugins in GitHub.

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

    Verrà chiesto di selezionare:

    • ID sottoscrizione: la sottoscrizione usata per creare un'istanza di Azure Spring Apps.
    • Istanza del servizio: nome dell'istanza di Azure Spring Apps.
    • Nome dell'app: nome dell'app preferito oppure usare il valore artifactIdpredefinito .
    • Endpoint - pubblico true per esporre l'app all'accesso pubblico; in caso contrario, false.
  2. Verificare che l'elemento appName nel file POM abbia il valore corretto. La parte pertinente del file POM dovrebbe essere simile all'esempio seguente.

    <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>
    

    Il file POM contiene ora le dipendenze e le configurazioni del plug-in.

  3. Distribuire l'app usando il comando seguente.

    mvn azure-spring-apps:deploy
    

Verificare i servizi

Al termine della distribuzione, è possibile accedere all'app all'indirizzo https://<service instance name>-hellospring.azuremicroservices.io/.

Screenshot dell'app hello spring come illustrato nel browser.

Pulire le risorse

Se si prevede di continuare a lavorare con l'applicazione di esempio, è possibile lasciare le risorse disponibili. Quando non è più necessario, eliminare il gruppo di risorse contenente l'istanza di Azure Spring Apps. Per eliminare il gruppo di risorse usando l'interfaccia della riga di comando di Azure, usare i comandi seguenti:

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

Passaggi successivi