Distribuzione di un'app Java di esempio
In questa unità si configurerà un'applicazione Spring Boot da distribuire tramite Maven. Si distribuirà quindi l'applicazione in un'istanza del servizio app di Azure. Questa unità illustra l'esempio di una clinica per animali domestici.
Applicazione di esempio
Clonare quanto segue nello strumento da riga di comando preferito:
git clone https://github.com/spring-projects/spring-petclinic.git
Eseguire quindi l'applicazione in locale:
cd spring-petclinic
./mvnw package
java -jar target/*.jar
Quando si apre l'esempio nel browser, dovrebbe essere simile al seguente:

Preparare l'applicazione di esempio per essere pronta per il cloud
Nella cartella src sono disponibili classi di oggetto, controller e repository.
Poiché Java è indipendente dalla piattaforma, è possibile scegliere il sistema operativo, ma la versione Java è importante per la distribuzione. È possibile trovare la versione java nel file pom.xml.
<properties>
<java.version>17</java.version>
</properties>
L'esempio usa Java 8, quindi anche l'istanza del servizio app di Azure, linux o Windows, deve usare Java 8. Poiché la piattaforma non è importante, si userà Linux per l'esempio.
È necessario aggiungere alcune dipendenze di Azure al file pom.xml. L'aggiunta delle dipendenze può verificarsi automaticamente se si esegue il comando seguente:
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.11.1:config
L'output di tale comando richiede alcune opzioni da specificare. Queste opzioni verranno archiviate automaticamente in pom.xml.
Please choose which part to config:
* 1: Application
2: Runtime
3: DeploymentSlot
Enter your choice: 1
Define value for appName [spring-petclinic-XXXX200]:
Define value for resourceGroup [spring-petclinic-XXXX200-rg]:
Define value for region [westeurope]:
Define value for pricingTier(P1v2):
1: b1
2: b2
3: b3
4: d1
5: f1
* 6: p1v2
7: p2v2
8: p3v2
9: s1
10: s2
11: s3
Enter your choice: 1
Please confirm webapp properties
AppName : spring-petclinic-XXXX200
ResourceGroup : spring-petclinic-XXXX200-rg
Region : westeurope
PricingTier : Basic_B2
OS : Linux
RuntimeStack : JAVA 8-jre8
Deploy to slot : false
Confirm (Y/N) [Y]: y
[INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
Come si può notare, è possibile usare le impostazioni predefinite per una distribuzione semplice.
Il file pom.xml ora ha aggiunto il plug-in necessario per la distribuzione automatica basata su Maven in Azure.
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-webapp-maven-plugin</artifactId>
<version>2.11.1</version>
<configuration>
<schemaVersion>V2</schemaVersion>
<subscriptionId>XXX-XXX-XXX</subscriptionId>
<resourceGroup>spring-petclinic-XXX200-rg</resourceGroup>
<appName>spring-petclinic-XXX200</appName>
<pricingTier>B2</pricingTier>
<region>westeurope</region>
<runtime>
<os>linux</os>
<javaVersion>jre8</javaVersion>
<webContainer>jre8</webContainer>
</runtime>
<deployment>
<resources>
<resource>
<directory>${project.basedir}/target</directory>
<includes>
<include>*.jar</include>
</includes>
</resource>
</resources>
</deployment>
</configuration>
</plugin>
Distribuire l'applicazione con Maven
Siamo già pronti per la distribuzione sul servizio app di Azure.
mvn package com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:deploy
Questo comando esegue i test. Viene quindi avviata automaticamente un'istanza del servizio app di Azure e viene distribuita l'applicazione in pacchetto.

Congratulazioni! L'app viene distribuita correttamente nel servizio app di Azure.