ตัวอย่างการปรับใช้แอป Java

เสร็จสมบูรณ์เมื่อ

ในหน่วยนี้ คุณจะต้องกําหนดค่าแอปพลิเคชัน Spring Boot ให้ใช้งานได้ผ่านทาง Maven จากนั้นคุณจะปรับใช้แอปพลิเคชันกับอินสแตนซ์ Azure App Service หน่วยนี้แสดงตัวอย่างของคลินิกสัตว์เลี้ยง

แอปพลิเคชันตัวอย่าง

ลอกแบบต่อไปนี้ในเครื่องมือบรรทัดคําสั่งโปรดของคุณ:

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

จากนั้น ให้เรียกใช้แอปพลิเคชันภายในเครื่อง:

cd spring-petclinic

./mvnw package

java -jar target/*.jar

เมื่อคุณเปิดตัวอย่างในเบราว์เซอร์ ตัวอย่างนั้นควรมีลักษณะดังนี้:

สกรีนช็อตที่แสดงการคลิกผ่านการปรับใช้ในเครื่องของแอปพลิเคชันคลินิกสัตว์เลี้ยงตัวอย่าง

เตรียมแอปพลิเคชันตัวอย่างให้พร้อมสําหรับระบบคลาวด์

ในโฟลเดอร์ src คุณจะพบคลาสออบเจ็กต์ ตัวควบคุม และที่เก็บข้อมูล

เนื่องจาก Java เป็นแพลตฟอร์มอิสระ คุณสามารถเลือกระบบปฏิบัติการได้ฟรี แต่เวอร์ชัน Java เป็นสิ่งสําคัญสําหรับการปรับใช้ คุณสามารถค้นหาเวอร์ชัน Java ในไฟล์ pom.xml ได้

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

ตัวอย่างนี้ใช้ Java 8 ดังนั้นอินสแตนซ์ Azure App Service ของเราไม่ว่า Linux หรือ Windows ควรใช้ Java 8 ด้วยหรือไม่ เนื่องจากแพลตฟอร์มไม่สําคัญ เราจะใช้ Linux สําหรับตัวอย่างของเรา

เราจําเป็นต้องเพิ่มการอ้างอิง Azure ไปยังไฟล์ pom.xml การเพิ่มการขึ้นต่อกันสามารถเกิดขึ้นได้โดยอัตโนมัติถ้าคุณเรียกใช้คําสั่งต่อไปนี้:

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

ผลลัพธ์ของคําสั่งนั้นขอให้ระบุตัวเลือกบางอย่าง ตัวเลือกเหล่านั้นจะถูกเก็บไว้โดยอัตโนมัติใน 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

ตามที่คุณเห็น คุณสามารถไปใช้ค่าเริ่มต้นสําหรับการปรับใช้อย่างง่ายได้

ขณะนี้ไฟล์ pom.xml ได้เพิ่มปลั๊กอินที่จําเป็นสําหรับการปรับใช้ Maven โดยอัตโนมัติไปยัง 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>

ปรับใช้แอปพลิเคชันกับ Maven

เราได้เตรียมพร้อมสําหรับการปรับใช้กับ Azure App Service แล้ว

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

คําสั่งนี้จะเรียกใช้การทดสอบ จากนั้นจะหมุนอินสแตนซ์ Azure App Service และปรับใช้แอปพลิเคชันแบบแพคเกจโดยอัตโนมัติ

สกรีนช็อตของแอปพลิเคชันคลินิกสัตว์เลี้ยงตัวอย่างที่ปรับใช้

ยินดีด้วย! ปรับใช้แอปกับ Azure App Service เรียบร้อยแล้ว