إشعار
دخلت خطط BasicStandardEnterprise فترة إيقاف في 17 مارس 2025. لمزيد من المعلومات، راجع إعلان إيقاف Azure Spring Apps.
يوضح هذا التشغيل السريع كيفية نشر تطبيق ويب Spring Boot إلى Azure Spring Apps. نموذج المشروع هو تطبيق ToDo بسيط لإضافة المهام ووضع علامة عليها عند اكتمالها ثم حذفها. تظهر لقطة الشاشة التالية التطبيق:
هذا التطبيق هو تطبيق ويب نموذجي من ثلاث طبقات مع الطبقات التالية:
- تطبيق React مرتبط بالواجهة الأمامية.
- تطبيق ويب Spring الخلفي الذي يستخدم Spring Data JPA للوصول إلى قاعدة بيانات ارتباطية.
- قاعدة بيانات ارتباطية. بالنسبة إلى localhost، يستخدم التطبيق محرك قاعدة بيانات H2. بالنسبة إلى Azure Spring Apps، يستخدم التطبيق قاعدة بيانات Azure ل PostgreSQL. لمزيد من المعلومات حول قاعدة بيانات Azure ل PostgreSQL، راجع وثائق الخادم المرن.
يوضح الرسم التخطيطي التالي بنية النظام:
توفر هذه المقالة الخيارات التالية للنشر في Azure Spring Apps:
-
يعد خيار مدخل Microsoft Azure أسهل وأسرع طريقة لإنشاء الموارد ونشر التطبيقات بنقرة واحدة. هذا الخيار مناسب لمطوري Spring الذين يرغبون في نشر التطبيقات بسرعة إلى خدمات سحابة Azure.
-
يوفر خيار المكون الإضافي لمدخل Azure + Maven طريقة أكثر تقليدية لإنشاء الموارد ونشر التطبيقات خطوة بخطوة. هذا الخيار مناسب لمطوري Spring الذين يستخدمون خدمات سحابة Azure لأول مرة.
-
يعد خيار Azure Developer CLI طريقة أكثر كفاءة لإنشاء الموارد ونشر التطبيقات تلقائيا من خلال أوامر بسيطة. يستخدم Azure Developer CLI قالب لتوفير موارد Azure المطلوبة ونشر التعليمات البرمجية للتطبيق. هذا الخيار مناسب لمطوري Spring الذين هم على دراية بخدمات Azure السحابية.
توفر هذه المقالة الخيارات التالية للنشر في Azure Spring Apps:
-
يعد خيار مدخل Microsoft Azure أسهل وأسرع طريقة لإنشاء الموارد ونشر التطبيقات بنقرة واحدة. هذا الخيار مناسب لمطوري Spring الذين يرغبون في نشر التطبيقات بسرعة إلى خدمات سحابة Azure.
-
يوفر خيار المكون الإضافي لمدخل Azure + Maven طريقة أكثر تقليدية لإنشاء الموارد ونشر التطبيقات خطوة بخطوة. هذا الخيار مناسب لمطوري Spring الذين يستخدمون خدمات سحابة Azure لأول مرة.
-
يستخدم خيار Azure CLI أداة سطر أوامر قوية لإدارة موارد Azure. هذا الخيار مناسب لمطوري Spring الذين هم على دراية بخدمات Azure السحابية.
1. المتطلبات الأساسية
- اشتراك Azure. في حال لم يكن لديك اشتراك Azure، أنشئ حسابًا مجانيًا قبل البدء.
- اشتراك Azure. في حال لم يكن لديك اشتراك Azure، أنشئ حسابًا مجانيًا قبل البدء.
2. إعداد مشروع الربيع
يقوم الزر Deploy to Azure في القسم التالي بتشغيل تجربة مدخل Azure التي تقوم بتنزيل حزمة JAR من صفحة إصدارات ASA-Samples-Web-Application على GitHub. لا يلزم اتخاذ خطوات إعداد محلية.
على الرغم من أنك تستخدم مدخل Microsoft Azure في خطوات لاحقة، يجب عليك استخدام سطر أوامر Bash لإعداد المشروع محليا. استخدم الخطوات التالية لاستنساخ التطبيق وتشغيله محليا:
استخدم الأمر التالي لاستنساخ نموذج المشروع من GitHub:
git clone https://github.com/Azure-Samples/ASA-Samples-Web-Application.git
استخدم الأمر التالي لإنشاء نموذج المشروع باستخدام Maven:
cd ASA-Samples-Web-Application
./mvnw clean package
استخدم الأمر التالي لتشغيل نموذج التطبيق:
java -jar web/target/simple-todo-web.jar
انتقل إلى http://localhost:8080 في المستعرض للوصول إلى التطبيق.
استخدم الخطوات التالية لاستنساخ التطبيق وتشغيله محليا:
استخدم الأمر التالي لاستنساخ نموذج المشروع من GitHub:
git clone https://github.com/Azure-Samples/ASA-Samples-Web-Application.git
استخدم الأمر التالي لإنشاء نموذج المشروع باستخدام Maven:
cd ASA-Samples-Web-Application
./mvnw clean package
استخدم الأمر التالي لتشغيل نموذج التطبيق:
java -jar web/target/simple-todo-web.jar
انتقل إلى http://localhost:8080 في المستعرض للوصول إلى التطبيق.
3. إعداد بيئة السحابة
الموارد الرئيسية المطلوبة لتشغيل هذا النموذج هي مثيل Azure Spring Apps وقاعدة بيانات Azure لمثيل PostgreSQL. يوفر هذا القسم الخطوات لإنشاء هذه الموارد.
يستخدم هذا القسم زر Deploy to Azure لبدء تجربة توزيع في مدخل Microsoft Azure. تستخدم هذه التجربة قالب ARM لإنشاء موارد Azure.
3.1. سجِّل الدخول إلى مدخل Azure
انتقل إلى مدخل Microsoft Azure وأدخل بيانات الاعتماد لتسجيل الدخول إلى المدخل. طريقة العرض الافتراضية هي لوحة معلومات الخدمة.
3.2. إنشاء موارد Azure
استخدم الخطوات التالية لإنشاء جميع موارد Azure التي يعتمد عليها التطبيق:
حدد زر Deploy to Azure التالي لبدء تجربة النشر في مدخل Microsoft Azure:
املأ النموذج في علامة التبويب أساسيات . استخدم الجدول التالي كدليل لإكمال النموذج:
| الإعدادات |
القيمة المقترحة |
الوصف |
|
الاشتراك |
اسم الاشتراك الخاص بك. |
اشتراك Azure الذي تريد استخدامه لخادمك. إذا كان لديك اشتراكات متعددة، فاختر الاشتراك الذي تود الدفع فيه مقابل المورد. |
|
مجموعة الموارد |
myresourcegroup |
اسم مجموعة موارد جديد أو اسم موجود من اشتراكك. |
|
المنطقة |
المنطقة الأقرب إلى المستخدمين. |
يتم استخدام المنطقة لإنشاء مجموعة الموارد. |
|
كلمة مرور مسؤول Postgre SQL |
غير متوفر |
كلمة المرور لمسؤول PostgreSQL Server. |
|
كلمة مرور مستخدم Postgre SQL |
غير متوفر |
كلمة المرور لمستخدم تطبيق PostgreSQL، والتي يتم استخدامها في التطبيق. |
حدد مراجعة وإنشاء لمراجعة التحديدات. ثم حدد Create لنشر التطبيق إلى Azure Spring Apps.
من شريط الأدوات، حدد رمز «Notifications» (جرس) لمراقبة عملية النشر. بعد انتهاء النشر، يمكنك تحديد تثبيت بلوحة المعلومات، والتي تنشئ تجانبا لهذه الخدمة على لوحة معلومات مدخل Microsoft Azure كاختصار لصفحة نظرة عامة على الخدمة. حدد الانتقال إلى المورد لفتح صفحة نظرة عامة على الخدمة.
3.1. سجِّل الدخول إلى مدخل Azure
انتقل إلى مدخل Microsoft Azure، وأدخل بيانات الاعتماد الخاصة بك، وسجل الدخول إلى المدخل. طريقة العرض الافتراضية هي لوحة معلومات الخدمة.
3.2. إنشاء مثيل Azure Spring Apps
استخدم الخطوات التالية لإنشاء مثيل الخدمة:
حدد Create a resource في زاوية مدخل Microsoft Azure.
حدد حساب>Azure Spring Apps.
املأ نموذج «Basics» بالمعلومات التالية:
| الإعدادات |
القيمة المقترحة |
الوصف |
|
الاشتراك |
اسم الاشتراك الخاص بك. |
اشتراك Azure الذي تريد استخدامه لخادمك. إذا كان لديك اشتراكات متعددة، فاختر الاشتراك الذي تود الدفع فيه مقابل المورد. |
|
مجموعة الموارد |
myresourcegroup |
اسم مجموعة موارد جديد أو اسم موجود من اشتراكك. |
|
الاسم |
myasa |
اسم فريد يعرف خدمة Azure Spring Apps. يجب أن يتراوح الاسم بين 4 أحرف و32 حرفاً، ويجب أن يحتوي على أحرف صغيرة وأرقام وواصلات فقط. يجب أن يكون الحرف الأول من اسم الخدمة حرفاً ويجب أن يكون الحرف الأخير إما حرفاً أو رقماً. |
|
تخطيط |
مؤسسة |
خطة التسعير التي تحدد المورد والتكلفة المرتبطة بالمثيل الخاص بك. |
|
المنطقة |
المنطقة الأقرب إلى المستخدمين. |
الموقع الأقرب إلى المستخدمين. |
|
المنطقة زائدة عن الحاجة |
غير محدد |
خيار إنشاء خدمة Azure Spring Apps في منطقة توفر Azure. هذه الميزة غير مدعومة حاليا في جميع المناطق. |
|
خطة IP للبرامج |
الدفع أولاً بأول |
ادفع أثناء استخدام Azure Spring Apps. |
|
حيث |
المحدد |
خانة اختيار الاتفاقية المرتبطة بعرض Marketplace. مطلوب منك تحديد خانة الاختيار هذه. |
|
توزيع نموذج المشروع |
غير محدد |
خيار استخدام نموذج التطبيق المضمن. |
حدد مراجعة وإنشاء لمراجعة التحديدات. ثم حدد Create لتوفير مثيل Azure Spring Apps.
من شريط الأدوات، حدد رمز «Notifications» (جرس) لمراقبة عملية النشر. بعد انتهاء النشر، يمكنك تحديد تثبيت بلوحة المعلومات، والتي تنشئ تجانبا لهذه الخدمة على لوحة معلومات مدخل Microsoft Azure كاختصار لصفحة نظرة عامة على الخدمة.
حدد Go to resource للانتقال إلى صفحة نظرة عامة على Azure Spring Apps.
3.3. إعداد مثيل PostgreSQL
استخدم الخطوات التالية لإنشاء قاعدة بيانات Azure لخادم PostgreSQL:
في مدخل Azure، حدد Create a resource.
حدد Databases>Azure Database for PostgreSQL Flexible Server.
املأ علامة التبويب Basics بالمعلومات التالية:
-
اسم الخادم: my-demo-pgsql
-
المنطقة: شرق الولايات المتحدة
-
إصدار PostgreSQL: 14
-
نوع حمل العمل: التطوير
-
تمكين قابلية الوصول العالية: غير محدد
-
أسلوب المصادقة: مصادقة PostgreSQL فقط
-
اسم مستخدم المسؤول: myadmin
-
كلمة المرور وتأكيد كلمة المرور: أدخل كلمة مرور.
تكوين علامة التبويب Networking باستخدام المعلومات التالية:
-
أسلوب الاتصال: الوصول العام (عناوين IP المسموح بها)
-
السماح بالوصول العام من أي خدمة Azure داخل Azure إلى هذا الخادم: محدد
حدد Review + create لمراجعة التحديدات الخاصة بك، ثم حدد Create لتوفير الخادم. قد تستغرق هذه العملية بضع دقائق.
انتقل إلى خادم PostgreSQL في مدخل Microsoft Azure.
حدد Databases من قائمة التنقل لإنشاء قاعدة بيانات - على سبيل المثال، Todo.
3.4. توصيل مثيل التطبيق بمثيل PostgreSQL
استخدم الخطوات التالية لتوصيل مثيلات الخدمة:
انتقل إلى مثيل Azure Spring Apps في مدخل Azure.
من جزء التنقل، افتح التطبيقات ثم حدد إنشاء تطبيق.
في صفحة Create App ، لاسم التطبيق، استخدم simple-todo-web واترك جميع الحقول الأخرى بقيمها الافتراضية.
حدد إنشاء لإنهاء إنشاء التطبيق ثم حدد التطبيق لعرض التفاصيل.
حدد Service Connector من جزء التنقل ثم حدد Create لإنشاء اتصال خدمة جديد.
املأ علامة التبويب Basics بالمعلومات التالية:
-
نوع الخدمة: DB لخادم PostgreSQL المرن
-
اسم الاتصال: يتم ملؤه باسم تم إنشاؤه تلقائيا يمكنك تعديله.
-
Subscription: حدد اشتراكك.
-
خادم PostgreSQL المرن: my-demo-pgsql
-
قاعدة بيانات PostgreSQL: حدد قاعدة البيانات التي أنشأتها.
-
نوع العميل: SpringBoot
قم بتكوين علامة التبويب Next: Authentication بالمعلومات التالية:
إشعار
توصي Microsoft باستخدام تدفق المصادقة الأكثر أمانا المتوفر. تدفق المصادقة الموصوف في هذا الإجراء، مثل قواعد البيانات، أو التخزين المؤقت، أو الرسائل، أو أدوات المسبك، يتطلب درجة عالية جدا من الثقة في التطبيق ويحمل مخاطر غير موجودة في التدفقات الأخرى. استخدم هذا التدفق فقط عندما تكون الخيارات الأكثر أمانا، مثل الهويات المدارة للاتصالات بدون كلمة مرور أو بدون مفتاح، غير قابلة للتطبيق. بالنسبة لعمليات الجهاز المحلي، تفضل هويات المستخدم للاتصالات بدون كلمة مرور أو بدون مفتاح.
-
حدد نوع المصادقة الذي تريد استخدامه بين خدمة الحوسبة والخدمة المستهدفة.: حدد سلسلة الاتصال.
-
متابعة مع...: حدد بيانات اعتماد قاعدة البيانات
-
اسم المستخدم: myadmin
-
كلمة المرور: أدخل كلمة المرور الخاصة بك.
حدد Next: Networking. استخدم الخيار الافتراضي تكوين قواعد جدار الحماية لتمكين الوصول إلى الخدمة الهدف.
حدد Next: Review and Create لمراجعة التحديدات الخاصة بك ثم حدد Create لإنشاء الاتصال.
3.1. توفير أسماء لكل مورد
إنشاء متغيرات للاحتفاظ بأسماء الموارد باستخدام الأوامر التالية. تأكد من استبدل العناصر النائبة بقيمتك الخاصة.
إشعار
توصي Microsoft باستخدام تدفق المصادقة الأكثر أمانا المتوفر. تدفق المصادقة الموصوف في هذا الإجراء، مثل قواعد البيانات، أو التخزين المؤقت، أو الرسائل، أو أدوات المسبك، يتطلب درجة عالية جدا من الثقة في التطبيق ويحمل مخاطر غير موجودة في التدفقات الأخرى. استخدم هذا التدفق فقط عندما تكون الخيارات الأكثر أمانا، مثل الهويات المدارة للاتصالات بدون كلمة مرور أو بدون مفتاح، غير قابلة للتطبيق. بالنسبة لعمليات الجهاز المحلي، تفضل هويات المستخدم للاتصالات بدون كلمة مرور أو بدون مفتاح.
export RESOURCE_GROUP=<resource-group-name>
export LOCATION=<location>
export POSTGRESQL_SERVER=<server-name>
export POSTGRESQL_DB=<database-name>
export POSTGRESQL_ADMIN_USERNAME=<admin-username>
export POSTGRESQL_ADMIN_PASSWORD=<admin-password>
export AZURE_SPRING_APPS_NAME=<Azure-Spring-Apps-service-instance-name>
export APP_NAME=<web-app-name>
3.2. إنشاء مجموعة موارد جديدة
استخدم الخطوات التالية لإنشاء مجموعة موارد جديدة.
استخدم الأمر التالي لتسجيل الدخول إلى Azure CLI.
az login
استخدم الأمر التالي لتعيين الموقع الافتراضي.
az configure --defaults location=${LOCATION}
استخدم الأمر التالي لسرد جميع الاشتراكات المتوفرة لتحديد معرف الاشتراك الذي سيتم استخدامه.
az account list --output table
استخدم الأمر التالي لتعيين الاشتراك الافتراضي:
az account set --subscription <subscription-ID>
استخدم الأمر التالي لإنشاء مجموعة الموارد.
az group create --resource-group ${RESOURCE_GROUP}
استخدم الأمر التالي لتعيين مجموعة الموارد التي تم إنشاؤها حديثا كمجموعة موارد افتراضية.
az configure --defaults group=${RESOURCE_GROUP}
3.3. إنشاء مثيل Azure Spring Apps
يتم استخدام Azure Spring Apps لاستضافة تطبيق ويب Spring. إنشاء مثيل Azure Spring Apps وتطبيق بداخله.
استخدم الأمر التالي لإنشاء مثيل خدمة Azure Spring Apps.
az spring create --name ${AZURE_SPRING_APPS_NAME} --sku enterprise
استخدم الأمر التالي لإنشاء تطبيق في مثيل Azure Spring Apps.
az spring app create \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--assign-endpoint true
3.4. إعداد مثيل PostgreSQL
يستخدم تطبيق ويب Spring H2 لقاعدة البيانات في localhost وقاعدة بيانات Azure ل PostgreSQL لقاعدة البيانات في Azure.
استخدم الأمر التالي لإنشاء مثيل PostgreSQL:
إشعار
توصي Microsoft باستخدام تدفق المصادقة الأكثر أمانا المتوفر. تدفق المصادقة الموصوف في هذا الإجراء، مثل قواعد البيانات، أو التخزين المؤقت، أو الرسائل، أو أدوات المسبك، يتطلب درجة عالية جدا من الثقة في التطبيق ويحمل مخاطر غير موجودة في التدفقات الأخرى. استخدم هذا التدفق فقط عندما تكون الخيارات الأكثر أمانا، مثل الهويات المدارة للاتصالات بدون كلمة مرور أو بدون مفتاح، غير قابلة للتطبيق. بالنسبة لعمليات الجهاز المحلي، تفضل هويات المستخدم للاتصالات بدون كلمة مرور أو بدون مفتاح.
az postgres flexible-server create \
--name ${POSTGRESQL_SERVER} \
--database-name ${POSTGRESQL_DB} \
--admin-user ${POSTGRESQL_ADMIN_USERNAME} \
--admin-password ${POSTGRESQL_ADMIN_PASSWORD} \
--public-access 0.0.0.0
يتيح تحديد 0.0.0.0 الوصول العام من أي موارد تم نشرها داخل Azure للوصول إلى الخادم الخاص بك.
3.5. توصيل مثيل التطبيق بمثيل PostgreSQL
بعد إنشاء مثيل التطبيق ومثيل PostgreSQL، لا يمكن لمثيل التطبيق الوصول إلى مثيل PostgreSQL مباشرة. استخدم الخطوات التالية لتمكين التطبيق من الاتصال بمثيل PostgreSQL.
استخدم الأمر التالي للحصول على اسم المجال المؤهل بالكامل لمثيل PostgreSQL:
export PSQL_FQDN=$(az postgres flexible-server show \
--name ${POSTGRESQL_SERVER} \
--query fullyQualifiedDomainName \
--output tsv)
استخدم الأمر التالي لتوفير الخصائص spring.datasource. للتطبيق من خلال متغيرات البيئة:
إشعار
توصي Microsoft باستخدام تدفق المصادقة الأكثر أمانا المتوفر. تدفق المصادقة الموصوف في هذا الإجراء، مثل قواعد البيانات، أو التخزين المؤقت، أو الرسائل، أو أدوات المسبك، يتطلب درجة عالية جدا من الثقة في التطبيق ويحمل مخاطر غير موجودة في التدفقات الأخرى. استخدم هذا التدفق فقط عندما تكون الخيارات الأكثر أمانا، مثل الهويات المدارة للاتصالات بدون كلمة مرور أو بدون مفتاح، غير قابلة للتطبيق. بالنسبة لعمليات الجهاز المحلي، تفضل هويات المستخدم للاتصالات بدون كلمة مرور أو بدون مفتاح.
az spring app update \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--env SPRING_DATASOURCE_URL="jdbc:postgresql://${PSQL_FQDN}:5432/${POSTGRESQL_DB}?sslmode=require" \
SPRING_DATASOURCE_USERNAME="${POSTGRESQL_ADMIN_USERNAME}" \
SPRING_DATASOURCE_PASSWORD="${POSTGRESQL_ADMIN_PASSWORD}"
4. نشر التطبيق إلى Azure Spring Apps
يقوم الزر Deploy to Azure في القسم السابق بتشغيل تجربة مدخل Azure التي تتضمن نشر التطبيق، لذلك لا توجد حاجة إلى أي شيء آخر.
استخدم الخطوات التالية للنشر باستخدام المكون الإضافي Maven ل Azure Spring Apps:
انتقل إلى الدليل الكامل ، ثم قم بتشغيل الأمر التالي لتكوين التطبيق في Azure Spring Apps:
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
تصف القائمة التالية تفاعلات الأوامر:
-
حدد الوحدات النمطية التابعة للتكوين: حدد الوحدة النمطية لتكوينها، ثم أدخل عدد الوحدة النمطية SimpleTodo Web .
-
تسجيل الدخول إلى OAuth2: تحتاج إلى تخويل تسجيل الدخول إلى Azure استنادا إلى بروتوكول OAuth2.
-
حدد subscription: حدد رقم قائمة الاشتراك لمثيل Azure Spring Apps الذي أنشأته، والذي يتم تعيينه افتراضيا إلى الاشتراك الأول في القائمة. إذا كنت تستخدم الرقم الافتراضي، فاضغط على مفتاح الإدخال Enter مباشرة.
-
استخدام Azure Spring Apps الموجودة في Azure: اضغط على y لاستخدام مثيل Azure Spring Apps الحالي.
-
حدد Azure Spring Apps للنشر: حدد عدد مثيل Azure Spring Apps الذي أنشأته. إذا كنت تستخدم الرقم الافتراضي، فاضغط على مفتاح الإدخال Enter مباشرة.
-
كشف الوصول العام لهذا التطبيق: اضغط على y.
-
تأكد من حفظ جميع التكوينات أعلاه: اضغط على y. إذا قمت بالضغط على n، فلن يتم حفظ التكوين في ملفات POM.
استخدم الأمر التالي لنشر التطبيق:
./mvnw azure-spring-apps:deploy
تصف القائمة التالية تفاعل الأمر:
-
تسجيل الدخول إلى OAuth2: تحتاج إلى تخويل تسجيل الدخول إلى Azure استنادا إلى بروتوكول OAuth2.
بعد تنفيذ الأمر، يمكنك أن ترى من رسائل السجل التالية أن النشر كان ناجحا:
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web-default-15-xxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:N/A
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io
عنوان URL لتطبيق الإخراج هو نقطة النهاية للوصول todo إلى التطبيق.
الآن بعد أن تم إعداد بيئة السحابة، أصبح التطبيق جاهزا للتوزيع. استخدم الأمر التالي لنشر التطبيق:
az spring app deploy \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--artifact-path web/target/simple-todo-web.jar
2. إعداد مشروع الربيع
يقوم الزر Deploy to Azure في القسم التالي بتشغيل تجربة مدخل Azure التي تقوم بتنزيل حزمة JAR من صفحة إصدارات ASA-Samples-Web-Application على GitHub. لا يلزم اتخاذ خطوات إعداد محلية.
على الرغم من أنك تستخدم مدخل Microsoft Azure في خطوات لاحقة، يجب عليك استخدام سطر أوامر Bash لإعداد المشروع محليا. استخدم الخطوات التالية لاستنساخ التطبيق وتشغيله محليا:
استخدم الأمر التالي لاستنساخ نموذج المشروع من GitHub:
git clone https://github.com/Azure-Samples/ASA-Samples-Web-Application.git
استخدم الأمر التالي لإنشاء نموذج المشروع باستخدام Maven:
cd ASA-Samples-Web-Application
./mvnw clean package
استخدم الأمر التالي لتشغيل نموذج التطبيق:
java -jar web/target/simple-todo-web.jar
انتقل إلى http://localhost:8080 في المستعرض للوصول إلى التطبيق.
استخدم الخطوات التالية لتهيئة تطبيق الويب من قوالب Azure Developer CLI:
افتح terminal، وأنشئ مجلدا فارغا، ثم غير الدليل إليه.
استخدم الأمر التالي لتهيئة المشروع:
azd init --template https://github.com/Azure-Samples/ASA-Samples-Web-Application
تصف القائمة التالية تفاعل الأمر:
-
أدخل اسم بيئة جديد: توفير اسم بيئة، والذي يتم استخدامه كلاحقة لمجموعة الموارد التي تم إنشاؤها للاحتفاظ بجميع موارد Azure. يجب أن يكون هذا الاسم فريدا داخل اشتراك Azure الخاص بك.
مخرجات وحدة التحكم رسائل مشابهة للمثال التالي:
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Please enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. إعداد بيئة السحابة
الموارد الرئيسية المطلوبة لتشغيل هذا النموذج هي مثيل Azure Spring Apps وقاعدة بيانات Azure لمثيل PostgreSQL. يوفر هذا القسم الخطوات لإنشاء هذه الموارد.
يستخدم هذا القسم زر Deploy to Azure لبدء تجربة توزيع في مدخل Microsoft Azure. تستخدم هذه التجربة قالب ARM لإنشاء موارد Azure.
3.1. سجِّل الدخول إلى مدخل Azure
انتقل إلى مدخل Microsoft Azure وأدخل بيانات الاعتماد لتسجيل الدخول إلى المدخل. طريقة العرض الافتراضية هي لوحة معلومات الخدمة.
3.2. إنشاء موارد Azure
استخدم الخطوات التالية لإنشاء جميع موارد Azure التي يعتمد عليها التطبيق:
حدد زر Deploy to Azure التالي لبدء تجربة النشر في مدخل Microsoft Azure:
املأ النموذج في علامة التبويب أساسيات . استخدم الجدول التالي كدليل لإكمال النموذج:
| الإعدادات |
القيمة المقترحة |
الوصف |
|
الاشتراك |
اسم الاشتراك الخاص بك. |
اشتراك Azure الذي تريد استخدامه لخادمك. إذا كان لديك اشتراكات متعددة، فاختر الاشتراك الذي تود الدفع فيه مقابل المورد. |
|
مجموعة الموارد |
myresourcegroup |
اسم مجموعة موارد جديد أو اسم موجود من اشتراكك. |
|
المنطقة |
المنطقة الأقرب إلى المستخدمين. |
يتم استخدام المنطقة لإنشاء مجموعة الموارد. |
|
كلمة مرور مسؤول Postgre SQL |
غير متوفر |
كلمة المرور لمسؤول PostgreSQL Server. |
|
كلمة مرور مستخدم Postgre SQL |
غير متوفر |
كلمة المرور لمستخدم تطبيق PostgreSQL، والتي يتم استخدامها في التطبيق. |
حدد مراجعة وإنشاء لمراجعة التحديدات. ثم حدد Create لنشر التطبيق إلى Azure Spring Apps.
من شريط الأدوات، حدد رمز «Notifications» (جرس) لمراقبة عملية النشر. بعد انتهاء النشر، يمكنك تحديد تثبيت بلوحة المعلومات، والتي تنشئ تجانبا لهذه الخدمة على لوحة معلومات مدخل Microsoft Azure كاختصار لصفحة نظرة عامة على الخدمة. حدد الانتقال إلى المورد لفتح صفحة نظرة عامة على الخدمة.
استخدم الخطوات التالية لإنشاء مثيل Azure Spring Apps وقاعدة بيانات Azure لمثيل PostgreSQL:
3.1. سجِّل الدخول إلى مدخل Azure
انتقل إلى مدخل Microsoft Azure وأدخل بيانات الاعتماد لتسجيل الدخول إلى المدخل. طريقة العرض الافتراضية هي لوحة معلومات الخدمة.
3.2. إنشاء مثيل Azure Spring Apps
استخدم الخطوات التالية لإنشاء مثيل خدمة:
حدد Create a resource في زاوية المدخل.
حدد حساب>Azure Spring Apps.
املأ النموذج في علامة التبويب أساسيات . استخدم الجدول التالي كدليل لإكمال النموذج:
| الإعدادات |
القيمة المقترحة |
الوصف |
|
الاشتراك |
اسم الاشتراك الخاص بك. |
اشتراك Azure الذي تريد استخدامه لخادمك. إذا كان لديك اشتراكات متعددة، فاختر الاشتراك الذي تود الدفع فيه مقابل المورد. |
|
مجموعة الموارد |
myresourcegroup |
اسم مجموعة موارد جديد أو اسم موجود من اشتراكك. |
|
الاسم |
myasa |
اسم فريد يعرف خدمة Azure Spring Apps. يجب أن يتراوح الاسم بين 4 أحرف و32 حرفاً، ويجب أن يحتوي على أحرف صغيرة وأرقام وواصلات فقط. يجب أن يكون الحرف الأول من اسم الخدمة حرفاً ويجب أن يكون الحرف الأخير إما حرفاً أو رقماً. |
|
تخطيط |
أساسي |
تحدد خطة التسعير المورد والتكلفة المرتبطة بالمثيل الخاص بك. |
|
المنطقة |
المنطقة الأقرب إلى المستخدمين. |
الموقع الأقرب إلى المستخدمين. |
|
المنطقة زائدة عن الحاجة |
غير محدد |
ما إذا كنت تريد إنشاء خدمة Azure Spring Apps في منطقة توفر Azure. حاليا، هذه الميزة مدعومة فقط في بعض المناطق. |
حدد مراجعة وإنشاء لمراجعة التحديدات. ثم حدد Create لتوفير مثيل Azure Spring Apps.
من شريط الأدوات، حدد رمز «Notifications» (جرس) لمراقبة عملية النشر. بعد انتهاء النشر، يمكنك تحديد تثبيت بلوحة المعلومات، والتي تنشئ تجانبا لهذه الخدمة على لوحة معلومات مدخل Microsoft Azure كاختصار لصفحة نظرة عامة على الخدمة. حدد الانتقال إلى المورد لفتح صفحة نظرة عامة على الخدمة.
3.3. إعداد مثيل PostgreSQL
استخدم الخطوات التالية لإنشاء قاعدة بيانات Azure لخادم PostgreSQL:
في مدخل Azure، حدد Create a resource.
حدد Databases>Azure Database for PostgreSQL Flexible Server.
املأ علامة التبويب Basics بالمعلومات التالية:
-
اسم الخادم: my-demo-pgsql
-
المنطقة: شرق الولايات المتحدة
-
إصدار PostgreSQL: 14
-
نوع حمل العمل: التطوير
-
تمكين قابلية الوصول العالية: غير محدد
-
أسلوب المصادقة: مصادقة PostgreSQL فقط
-
اسم مستخدم المسؤول: myadmin
-
كلمة المرور وتأكيد كلمة المرور: أدخل كلمة مرور.
تكوين علامة التبويب Networking باستخدام المعلومات التالية:
-
أسلوب الاتصال: الوصول العام (عناوين IP المسموح بها)
-
السماح بالوصول العام من أي خدمة Azure داخل Azure إلى هذا الخادم: محدد
حدد Review + create لمراجعة التحديدات الخاصة بك، ثم حدد Create لتوفير الخادم. قد تستغرق هذه العملية بضع دقائق.
انتقل إلى خادم PostgreSQL في مدخل Microsoft Azure.
حدد Databases من قائمة التنقل لإنشاء قاعدة بيانات - على سبيل المثال، Todo.
3.4. توصيل مثيل التطبيق بمثيل PostgreSQL
استخدم الخطوات التالية لتوصيل مثيلات الخدمة:
انتقل إلى مثيل Azure Spring Apps في مدخل Azure.
من جزء التنقل، افتح جزء التطبيقات وحدد إنشاء تطبيق.
في صفحة Create App ، لاسم التطبيق، استخدم simple-todo-web وللمنصة وقت التشغيل، حدد Java 17.
حدد Create لإنهاء إنشاء التطبيق وحدد التطبيق لعرض التفاصيل.
حدد Service Connector من جزء التنقل ثم حدد Create لإنشاء اتصال خدمة جديد.
املأ علامة التبويب Basics بالمعلومات التالية:
-
نوع الخدمة: DB لخادم PostgreSQL المرن
-
اسم الاتصال: يتم ملؤه باسم تم إنشاؤه تلقائيا يمكنك تعديله.
-
Subscription: حدد اشتراكك.
-
خادم PostgreSQL المرن: my-demo-pgsql
-
قاعدة بيانات PostgreSQL: حدد قاعدة البيانات التي أنشأتها.
-
نوع العميل: SpringBoot
قم بتكوين علامة التبويب Next: Authentication بالمعلومات التالية:
-
حدد نوع المصادقة الذي تريد استخدامه بين خدمة الحوسبة والخدمة المستهدفة.: حدد سلسلة الاتصال.
-
تابع مع...: حدد بيانات اعتماد قاعدة البيانات.
-
اسم المستخدم: myadmin
-
كلمة المرور: أدخل كلمة المرور الخاصة بك.
حدد Next: Networking. استخدم الخيار الافتراضي تكوين قواعد جدار الحماية لتمكين الوصول إلى الخدمة الهدف.
حدد Next: Review and Create لمراجعة التحديدات الخاصة بك ثم حدد Create لإنشاء الاتصال.
استخدم الخطوات التالية لإنشاء مثيل Azure Spring Apps وقاعدة بيانات Azure لمثيل PostgreSQL:
استخدم الأمر التالي لتسجيل الدخول إلى Azure باستخدام OAuth2. تجاهل هذه الخطوة إذا قمت بتسجيل الدخول بالفعل.
azd auth login
مخرجات وحدة التحكم رسائل مشابهة للمثال التالي:
Logged in to Azure.
استخدم الأمر التالي لتعيين القالب مع الخطة القياسية :
azd env set PLAN standard
استخدم الأمر التالي لتوفير البنية الأساسية للقالب إلى Azure:
azd provision
تصف القائمة التالية تفاعلات الأوامر:
-
الرجاء تحديد اشتراك Azure لاستخدامه: استخدم الأسهم للتنقل، واكتب للتصفية، ثم اضغط على ENTER.
-
الرجاء تحديد موقع Azure لاستخدامه: استخدم الأسهم للتنقل، واكتب للتصفية، ثم اضغط على ENTER.
مخرجات وحدة التحكم رسائل مشابهة للمثال التالي:
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
إشعار
قد يستغرق إكمال هذا الأمر بعض الوقت. ترى مؤشر تقدم أثناء توفير موارد Azure.
4. نشر التطبيق إلى Azure Spring Apps
يقوم الزر Deploy to Azure في القسم السابق بتشغيل تجربة مدخل Azure التي تتضمن نشر التطبيق، لذلك لا توجد حاجة إلى أي شيء آخر.
يمكنك الآن نشر التطبيق إلى Azure Spring Apps.
استخدم الخطوات التالية للنشر مع المكون الإضافي Maven ل Azure Spring Apps:
انتقل إلى نموذج دليل المشروع وقم بتشغيل الأمر التالي لتكوين التطبيق في Azure Spring Apps:
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
تصف القائمة التالية تفاعلات الأوامر:
-
حدد الوحدات النمطية التابعة للتكوين: حدد الوحدة النمطية لتكوينها، ثم أدخل عدد الوحدة النمطية SimpleTodo Web .
-
تسجيل الدخول إلى OAuth2: تخويل تسجيل الدخول إلى Azure استنادا إلى بروتوكول OAuth2.
-
حدد subscription: حدد رقم قائمة الاشتراك لمثيل Azure Spring Apps الذي أنشأته، والذي يتم تعيينه افتراضيا إلى الاشتراك الأول في القائمة. إذا كنت تستخدم الرقم الافتراضي، فاضغط على ENTER مباشرة.
-
حدد Azure Spring Apps: حدد عدد مثيل Azure Spring Apps الذي أنشأته. إذا كنت تستخدم الرقم الافتراضي، فاضغط على ENTER مباشرة.
-
كشف الوصول العام لهذا التطبيق؟: اضغط على y.
-
تأكيد لحفظ جميع التكوينات أعلاه (Y/n): اضغط على y. إذا قمت بالضغط على n، فلن يتم حفظ التكوين في ملفات POM.
استخدم الأمر التالي لنشر التطبيق:
./mvnw azure-spring-apps:deploy
تصف القائمة التالية تفاعل الأمر:
-
تسجيل الدخول إلى OAuth2: تحتاج إلى تخويل تسجيل الدخول إلى Azure استنادا إلى بروتوكول OAuth2.
بعد تنفيذ الأمر، يمكنك أن ترى من رسائل السجل التالية أن النشر كان ناجحا:
[INFO] Deployment(default) is successfully created
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:UNREGISTERED
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxx-xxxxx Status:Terminating Reason:null DiscoverStatus:UNREGISTERED
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io
عنوان URL لتطبيق الإخراج هو نقطة النهاية للوصول todo إلى التطبيق.
يمكنك الآن نشر التطبيق إلى Azure Spring Apps. استخدم الخطوات التالية لحزم التطبيق، وتوفير موارد Azure المطلوبة من قبل تطبيق الويب، ثم التوزيع إلى Azure Spring Apps:
استخدم الأمر التالي لحزم نسخة قابلة للنشر من تطبيقك:
azd package
مخرجات وحدة التحكم رسائل مشابهة للمثال التالي:
SUCCESS: Your application was packaged for Azure in xx seconds.
استخدم الأمر التالي لنشر التعليمات البرمجية للتطبيق إلى تلك الموارد التي تم توفيرها حديثا:
azd deploy
مخرجات وحدة التحكم رسائل مشابهة للمثال التالي:
Deploying services (azd deploy)
(✓) Done: Deploying service simple-todo-web
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io/
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
نقطة نهاية الإخراج هي نقطة النهاية للوصول todo إلى التطبيق.
إشعار
يمكنك أيضا استخدام azd up لدمج الأوامر الثلاثة السابقة: azd package (حزم نسخة قابلة للتوزيع من التطبيق الخاص بك)، azd provision (توفير موارد Azure)، و azd deploy (نشر التعليمات البرمجية للتطبيق). لمزيد من المعلومات، راجع Azure-Samples/ASA-Samples-Web-Application.
5. التحقق من صحة تطبيق الويب
يمكنك الآن الوصول إلى التطبيق المنشور لمعرفة ما إذا كان يعمل أم لا.
استخدم الخطوات التالية للتحقق من الصحة:
بعد انتهاء النشر، يمكنك العثور على عنوان URL للتطبيق من مخرجات التوزيع:
الوصول إلى التطبيق باستخدام عنوان URL لتطبيق الإخراج. يجب أن تظهر الصفحة كما رأيت في localhost.
تحقق من تفاصيل كل نشر مورد، وهو أمر مفيد للتحقيق في أي مشكلات في التوزيع.
الوصول إلى التطبيق باستخدام عنوان URL لتطبيق الإخراج. يجب أن تظهر الصفحة كما رأيت في localhost.
استخدم الخطوات التالية للتحقق من الصحة:
بعد انتهاء النشر، يمكنك الوصول إلى التطبيق باستخدام عنوان URL هذا: https://${AZURE_SPRING_APPS_NAME}-${APP_NAME}.azuremicroservices.io/. يجب أن تظهر الصفحة كما رأيت في localhost.
للتحقق من سجل التطبيق للتحقيق في أي مشكلة توزيع، استخدم الأمر التالي:
az spring app logs \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME}
استخدم الخطوات التالية للتحقق من الصحة:
بعد انتهاء النشر، ابحث عن عنوان URL للتطبيق من مخرجات التوزيع:
الوصول إلى عنوان URL للتطبيق. يجب أن تظهر الصفحة كما رأيت في localhost.
تحقق من تفاصيل كل نشر مورد، وهو أمر مفيد للتحقيق في أي مشكلات في التوزيع.
الوصول إلى التطبيق باستخدام عنوان URL لتطبيق الإخراج. يجب أن تظهر الصفحة كما رأيت في localhost.
الوصول إلى التطبيق باستخدام نقطة نهاية الإخراج. يجب أن تظهر الصفحة كما رأيت في localhost.
6. حذف الموارد
تأكد من حذف الموارد التي قمت بإنشائها في هذه المقالة عندما لم تعد بحاجة إليها. يمكنك حذف مجموعة موارد Azure، التي تتضمن كافة الموارد الموجودة في مجموعة الموارد.
استخدم الخطوات التالية لحذف مجموعة الموارد بأكملها، بما في ذلك مثيل الخدمة الذي تم إنشاؤه حديثا:
حدد موقع مجموعة الموارد الخاصة بك في مدخل Microsoft Azure. في قائمة التنقل، حدد Resource groups، ثم حدد اسم مجموعة الموارد الخاصة بك.
في صفحة Resource group ، حدد Delete. أدخل اسم مجموعة الموارد في مربع النص لتأكيد الحذف، ثم حدد حذف.
استخدم الخطوات التالية لحذف مجموعة الموارد بأكملها، بما في ذلك مثيل الخدمة الذي تم إنشاؤه حديثا:
حدد موقع مجموعة الموارد الخاصة بك في مدخل Microsoft Azure. في قائمة التنقل، حدد Resource groups، ثم حدد اسم مجموعة الموارد الخاصة بك.
في صفحة Resource group ، حدد Delete. أدخل اسم مجموعة الموارد في مربع النص لتأكيد الحذف، ثم حدد حذف.
استخدم الأمر التالي لحذف جميع موارد Azure المستخدمة في نموذج التطبيق هذا:
azd down
تصف القائمة التالية تفاعل الأمر:
مخرجات وحدة التحكم رسائل مشابهة للمثال التالي:
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
استخدم الخطوات التالية لحذف مجموعة الموارد بأكملها، بما في ذلك مثيل الخدمة الذي تم إنشاؤه حديثا:
حدد موقع مجموعة الموارد الخاصة بك في مدخل Microsoft Azure. في قائمة التنقل، حدد Resource groups، ثم حدد اسم مجموعة الموارد الخاصة بك.
في صفحة Resource group ، حدد Delete. أدخل اسم مجموعة الموارد في مربع النص لتأكيد الحذف، ثم حدد حذف.
استخدم الخطوات التالية لحذف مجموعة الموارد بأكملها، بما في ذلك مثيل الخدمة الذي تم إنشاؤه حديثا:
حدد موقع مجموعة الموارد الخاصة بك في مدخل Microsoft Azure. في قائمة التنقل، حدد Resource groups، ثم حدد اسم مجموعة الموارد الخاصة بك.
في صفحة Resource group ، حدد Delete. أدخل اسم مجموعة الموارد في مربع النص لتأكيد الحذف، ثم حدد حذف.
استخدم الأمر التالي لحذف مجموعة الموارد بأكملها، بما في ذلك الخدمة التي تم إنشاؤها حديثا:
az group delete --name ${RESOURCE_GROUP}
7. الخطوات التالية
لمزيد من المعلومات، راجع المقالات التالية: