Örnek Java uygulaması dağıtımı

Tamamlandı

Bu ünitede Maven aracılığıyla dağıtılacak bir Spring Boot uygulaması yapılandıracaksınız. Ardından uygulamayı bir Azure App Service örneğine dağıtacaksınız. Bu ünitede evcil hayvan kliniği örneği gösterilmektedir.

Örnek uygulama

Sık kullandığınız komut satırı aracında aşağıdakileri kopyalayın:

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

Ardından uygulamayı yerel olarak çalıştırın:

cd spring-petclinic

./mvnw package

java -jar target/*.jar

Örneği tarayıcıda açtığınızda aşağıdaki gibi görünmelidir:

Örnek evcil hayvan kliniği uygulamasının yerel dağıtımına tıklamayı gösteren ekran görüntüsü.

Örnek uygulamayı buluta hazır olacak şekilde hazırlama

src klasöründe nesne, denetleyici ve depo sınıflarını bulacaksınız.

Java platformdan bağımsız olduğundan işletim sistemini seçebilirsiniz ancak Java sürümü dağıtım için önemlidir. Java sürümünü pom.xml dosyasında bulabilirsiniz.

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

Örnekte Java 8 kullanılır, bu nedenle Linux veya Windows gibi Azure App Service örneğimiz de Java 8 kullanmalıdır. Platform önemli olmadığından örneğimizde Linux kullanacağız.

pom.xml dosyasına bazı Azure bağımlılıkları eklemeliyiz. Aşağıdaki komutu çalıştırırsanız bağımlılıkları ekleme işlemi otomatik olarak gerçekleşebilir:

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

Bu komutun çıktısı, belirtilecek bazı seçenekleri ister. Bu seçenekler otomatik olarak pom.xmliçinde depolanır.

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

Gördüğünüz gibi, basit bir dağıtım için varsayılan değerleri kullanabilirsiniz.

pom.xml dosyası artık Azure'a maven tabanlı otomatik dağıtım için gerekli eklentiyi eklemiştir.

 <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>

Uygulamayı Maven ile dağıtma

Azure App Service'e dağıtım için zaten hazırız.

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

Bu komut testleri çalıştırır. Ardından otomatik olarak bir Azure App Service örneği oluşturur ve paketlenmiş uygulamayı dağıtır.

Dağıtılan örnek evcil hayvan kliniği uygulamasının ekran görüntüsü.

Tebrikler! Uygulama, Azure App Service'e başarıyla dağıtılır.