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
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Un'istanza di Azure Spring Apps già di cui è stato effettuato il provisioning.
- JDK 8 o JDK 11
- Apache Maven
- Interfaccia della riga di comando di Azure versione 2.45.0 o successiva con l'estensione Azure Spring Apps. È possibile installare l'estensione usando il comando seguente:
az extension add --name spring
Generare un progetto Spring
Per creare un progetto Spring da usare in questo articolo, seguire questa procedura:
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.
Questo esempio usa Java versione 8. Se si vuole usare Java versione 11, modificare l'opzione in Metadati del progetto.
Selezionare Genera quando vengono impostate tutte le dipendenze.
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.
In una nuova scheda accedere al portale di Azure.
Nella casella di ricerca in alto cercare App Spring di Azure.
Selezionare Azure Spring Apps nei risultati.
Nella pagina Azure Spring Apps selezionare Crea.
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.
Seleziona Rivedi e crea.
Generare configurazioni e distribuire in Azure Spring Apps
Per generare configurazioni e distribuire l'app, seguire questa procedura:
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
artifactId
predefinito . - Endpoint - pubblico true per esporre l'app all'accesso pubblico; in caso contrario, false.
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.
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/
.
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 ..."