عينة نشر تطبيق 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.