Eksempel på distribusjon av Java-apper
I denne enheten skal du konfigurere et oppstartsprogram for fjær som skal distribueres via Maven. Deretter distribuerer du programmet til en Azure App Service-forekomst. Denne enheten viser eksemplet på en dyreklinikk.
Eksempelprogram
Klone følgende i favorittkommandolinjeverktøyet:
git clone https://github.com/spring-projects/spring-petclinic.git
Deretter kjører du programmet lokalt:
cd spring-petclinic
./mvnw package
java -jar target/*.jar
Når du åpner eksemplet i nettleseren, skal det se slik ut:
Klargjøre eksempelprogrammet for å være klar i skyen
I mappen src finner du objekt-, kontroller- og repositoriumklasser.
Siden Java er plattformuavhengig, kan du velge operativsystemet, men Java-versjonen er viktig for distribusjonen. Du finner Java-versjonen i pom.xml-filen.
<properties>
<java.version>17</java.version>
</properties>
Eksemplet bruker Java 8, så Azure App Service-forekomsten, enten Linux eller Windows, bør også bruke Java 8. Fordi plattformen ikke spiller noen rolle, bruker vi Linux for vårt eksempel.
Vi må legge til noen Azure-avhengigheter i pom.xml-filen. Hvis du legger til avhengighetene, kan det skje automatisk hvis du kjører følgende kommando:
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.11.1:config
Utdataene for denne kommandoen ber om at noen alternativer angis. Disse alternativene lagres automatisk i 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
Som du kan se, kan du gå med standardinnstillingene for en enkel distribusjon.
Den pom.xml filen har nå lagt til den nødvendige plugin-modulen for den automatiske Maven-baserte distribusjonen i 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>
Distribuer programmet med Maven
Vi er allerede forberedt på distribusjonen til Azure App Service.
mvn package com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:deploy
Denne kommandoen kjører testene. Det spinner deretter automatisk opp en Azure App Service-forekomst og distribuerer det pakkede programmet.
Gratulerer! Appen er distribuert til Azure App Service.