Przykładowe wdrożenie aplikacji Java

Ukończone

W tej lekcji skonfigurujesz aplikację Spring Boot do wdrożenia za pośrednictwem narzędzia Maven. Następnie wdrożysz aplikację na instancji usługi Azure App Service. W tej lekcji przedstawiono przykład kliniki zwierząt domowych.

Przykładowa aplikacja

Sklonuj następujące elementy w ulubionym narzędziu wiersza polecenia:

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

Następnie uruchom aplikację lokalnie:

cd spring-petclinic

./mvnw package

java -jar target/*.jar

Po otwarciu przykładu w przeglądarce powinien wyglądać następująco:

Zrzut ekranu przedstawiający przeglądanie lokalnego wdrożenia przykładowej aplikacji kliniki zwierząt.

Przygotowywanie przykładowej aplikacji do gotowości do chmury

W folderze src znajdziesz klasy obiektów, kontrolera i repozytorium.

Ponieważ język Java jest niezależny od platformy, możesz wybrać system operacyjny, ale wersja języka Java jest ważna dla wdrożenia. Wersję języka Java można znaleźć w pliku pom.xml.

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

W przykładzie użyto języka Java 8, dlatego nasze wystąpienie usługi Azure App Service, niezależnie od tego, czy działa na systemie Linux czy Windows, powinno również używać języka Java 8. Ponieważ platforma nie ma znaczenia, użyjemy systemu Linux w naszym przykładzie.

Musimy dodać pewne zależności platformy Azure do pliku pom.xml. Dodanie zależności może nastąpić automatycznie, jeśli uruchomisz następujące polecenie:

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

Dane wyjściowe tego polecenia pytają o określenie niektórych opcji. Te opcje będą przechowywane automatycznie w 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

Jak widać, możesz pozostawić wartości domyślne, aby uzyskać proste wdrożenie.

Plik pom.xml dodał teraz wymaganą wtyczkę do automatycznego wdrożenia opartego na narzędziu Maven na platformie 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>

Wdrażanie aplikacji za pomocą narzędzia Maven

Jesteśmy już przygotowani do wdrożenia na Azure App Service.

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

To polecenie uruchamia testy. Następnie automatycznie uruchamia instancję usługi Azure App Service i wdraża spakowaną aplikację.

Zrzut ekranu przedstawiający wdrożona przykładowa aplikacja kliniki dla zwierząt domowych.

Gratulacje! Aplikacja została pomyślnie wdrożona w usłudze Azure App Service.