Voorbeeldimplementatie van Java-apps

Voltooid

In deze les configureert u een Spring Boot-toepassing die via Maven moet worden geïmplementeerd. Vervolgens implementeert u de toepassing in een Azure App Service-exemplaar. In deze les ziet u het voorbeeld van een kliniek voor huisdieren.

Voorbeeldtoepassing

Kloon het volgende in uw favoriete opdrachtregelprogramma:

git clone https://github.com/spring-projects/spring-petclinic.git

Voer vervolgens de toepassing lokaal uit:

cd spring-petclinic

./mvnw package

java -jar target/*.jar

Wanneer u het voorbeeld in de browser opent, ziet dit er als volgt uit:

Schermopname die laat zien hoe je door te klikken de lokale implementatie van de voorbeeldapplicatie voor de huisdierenkliniek gebruikt.

De voorbeeldtoepassing voorbereiden om gereed te zijn voor de cloud

In de src-map vindt u object-, controller- en repository-klassen.

Omdat Java platformonafhankelijk is, kunt u het besturingssysteem kiezen, maar de Java-versie is belangrijk voor de implementatie. U vindt de Java-versie in het bestand pom.xml.

<properties>
    <java.version>17</java.version>
</properties>

In het voorbeeld wordt Java 8 gebruikt, dus ons Azure App Service-exemplaar, ongeacht of Linux of Windows, ook Java 8 moet gebruiken. Omdat het platform niet uitmaakt, gebruiken we Linux voor ons voorbeeld.

We moeten enkele Azure-afhankelijkheden toevoegen aan het pom.xml-bestand. Het toevoegen van de afhankelijkheden kan automatisch gebeuren als u de volgende opdracht uitvoert:

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.11.1:config

De uitvoer van die opdracht vraagt om een aantal opties die moeten worden opgegeven. Deze opties worden automatisch opgeslagen 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

Zoals u kunt zien, kunt u de standaardinstellingen voor een eenvoudige implementatie gebruiken.

Het pom.xml-bestand heeft nu de vereiste invoegtoepassing toegevoegd voor de automatische Maven-implementatie 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>

De toepassing implementeren met Maven

We zijn al voorbereid op de implementatie in Azure App Service.

mvn package com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:deploy

Met deze opdracht worden de tests uitgevoerd. Vervolgens wordt er automatisch een Azure App Service-exemplaar gemaakt en wordt de gebundelde applicatie geïmplementeerd.

Schermopname van de geïmplementeerde voorbeeldtoepassing voor dierenklinieken.

Gefeliciteerd! De app is geïmplementeerd in Azure App Service.