إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توضح هذه المقالة كيفية تكوين النشر المستمر (CD) إلى Azure App Service عن طريق سحب التحديثات من GitHub أو Bitbucket أو Azure Repos أو مستودعات أخرى.
المتطلبات الأساسية
اكتب أذونات على تطبيق Azure App Service في مستودع التحكم بالمصادر.
قم بإعداد المستودع الخاص بك
للحصول على إصدارات تلقائية من خادم إنشاء خدمة التطبيقات، تأكد من أن جذر المستودع الخاص بك يحتوي على الملفات الصحيحة في مشروعك.
| وقت التشغيل | ملفات الدليل الجذر |
|---|---|
| ASP.NET (Windows فحسب) |
*.slnأو *.csprojأو .default.aspx |
| ASP.NET Core |
*.sln أو *.csproj. |
| PHP | Person. |
| Ruby (Linux فحسب) | Person. |
| Node.js |
server.jsأو app.jsأو package.json باستخدام برنامج نصي للبدء. |
| بايثون |
*.pyأو requirements.txtأو .runtime.txt |
| HTML |
default.htmأو أو default.htmldefault.aspأو index.htmindex.htmliisstart.htm. |
| WebJobs |
<job_name>/run.<extension> ضمن App_Data/jobs/continuous ل WebJobs المستمر، أو App_Data/jobs/triggered ل WebJobs المشغلة. لمزيدٍ من المعلومات، راجع وثائق Kudu WebJobs. |
| الوظائف | راجع التوزيع المستمر لوظائف Azure. |
لتخصيص التوزيع الخاص بك، قم بتضمين .deployment ملف في جذر المستودع. لمزيدٍ من المعلومات، راجع تخصيص عمليات التوزيع والبرنامج النصي للتوزيع المخصص.
تلميح
يمكن ل Visual Studio إنشاء مستودع لك. باستخدام هذه الطريقة، يكون مشروعك جاهزا للتوزيع على الفور عبر Git.
تمكين النشر المستمر
في مدخل Microsoft Azure، انتقل إلى صفحة تطبيق App Service وحدد Deployment Center من قائمة التنقل اليسرى.
في علامة التبويب Settings ضمن Source، حدد نوع مستودع التحكم بالمصادر.
اتبع الإرشادات الخاصة بنوع المصدر لتكوين النشر.
يمكن إنشاء جميع المصادر المدرجة باستخدام App Service Build Service. يمكن أيضا إنشاء بعض المصادر باستخدام GitHub Actions أو Azure Pipelines. لمزيد من المعلومات، راجع إنشاء موفري الخدمة.
GitHub Actions هو موفر إنشاء GitHub الافتراضي. لتغيير الموفر، حدد Change provider، وحدد App Service Build Service أو Azure Pipelines، ثم حدد OK.
إذا لزم الأمر، حدد Authorize واتبع مطالبات التخويل ل GitHub. للنشر من مستودع مستخدم آخر، حدد تغيير الحساب.
حدد مؤسسة GitHub المناسبة والمستودعوالفرع.
إذا لم تتمكن من العثور على مؤسسة أو مستودع، فقد تحتاج إلى تمكين المزيد من الأذونات على GitHub. لمزيدٍ من المعلومات، راجع إدارة الوصول إلى مستودعات مؤسستك.
ضمن نوع المصادقة، حدد الهوية المعينة من قبل المستخدم للحصول على أمان أفضل.
إذا كان حساب Azure الخاص بك لديه الأذونات المطلوبة، فإن App Service تنشئ هوية مدارة معينة من قبل المستخدم لك، أو يمكنك اختيار هوية مدارة موجودة. إذا لم يكن لديك الأذونات المطلوبة، فاعمل مع مسؤول Azure لإنشاء هوية مع الدور المطلوب على تطبيقك، ثم حددها في القائمة المنسدلة.
تحدد App Service قالب سير عمل استنادا إلى إعداد مكدس اللغة لتطبيقك وتلتزم به في مستودع GitHub المحدد. يمكنك اختياريا تحديد معاينة الملف لرؤية ملف سير العمل قبل حفظ التغييرات.
حدد حفظ.
يتم الآن توزيع الالتزامات الجديدة في المستودع والفرع المحددين بشكل مستمر في تطبيق App Service الخاص بك. يمكنك تتبع الالتزامات وعمليات التوزيع في علامة تبويب السجلات.
تعطيل النشر المستمر
لتعطيل النشر المستمر لمصدر متصل:
في مدخل Microsoft Azure، انتقل إلى صفحة تطبيق App Service وحدد Deployment Center من قائمة التنقل اليسرى.
في علامة التبويب الإعدادات ، حدد قطع الاتصال.
حدد موافق.
بالنسبة إلى GitHub، يظل ملف سير العمل في المستودع بشكل افتراضي، ولكنك لم تعد ترى التقدم المتكامل في علامة التبويب Logsفي Deployment Center.
ما المقصود بموفري البنية؟
يساعدك موفرو الإنشاء على إنشاء حل تكامل مستمر وتسليم مستمر (CI/CD) مع Azure App Service من خلال أتمتة الإنشاء والاختبار والنشر. توفر بعض مصادر النشر العديد من خيارات موفر البناء. يمكن إنشاء جميع المصادر المدرجة باستخدام App Service Build Service.
لا تقتصر على خيارات موفر البناء المدرجة، ولكن تساعدك App Service على إعداد الخيارات المدرجة بسرعة والبدء في الحصول على تسجيل توزيع متكامل.
إجراءات GitHub
يتوفر موفر إنشاء GitHub Actions فقط لمصدر GitHub وهو الافتراضي لنشر GitHub. يقوم موفر الإنشاء بإعداد CI/CD عن طريق إيداع ملف سير عمل GitHub Actions في مستودع GitHub الذي يعالج مهام إنشاء خدمة التطبيقات ونشرها.
للمصادقة الأساسية، يضيف موفر إنشاء GitHub Actions ملف تعريف النشر لتطبيقك كسر GitHub. يستخدم ملف سير العمل هذا السر للمصادقة مع App Service.
بالنسبة للهوية المعينة من قبل المستخدم، تتيح App Service مصادقة Microsoft OpenID Connect الموصى بها وتكوين الموارد الضرورية في Azure وGitHub. لمزيد من المعلومات، راجع ماذا يفعل خيار الهوية المعين من قبل المستخدم لإجراءات GitHub؟
يلتقط موفر إنشاء GitHub Actions المعلومات من سجلات تشغيل سير العمل ويعرضها على علامة التبويب Logs في مركز النشر للتطبيق.
يمكنك تخصيص موفر إنشاء GitHub Actions بعدة طرق:
- تخصيص ملف سير العمل بعد إنشائه في مستودع GitHub الخاص بك. لمزيدٍ من المعلومات عن بناء جملة سير العمل، راجع بناء جملة سير العمل لـ GitHub Actions. انشر سير العمل المخصص إلى App Service باستخدام
azure/webapps-deployالإجراء . - إذا كان الفرع المحدد محميا، فمعاينة ملف سير العمل دون حفظ التكوين. تخصيص الملف، ثم إضافته يدويا إلى المستودع الخاص بك. لا يمنحك هذا الأسلوب تكامل السجل مع مدخل Microsoft Azure.
- النشر باستخدام أساس خدمة معرف Microsoft Entra بدلا من استخدام المصادقة الأساسية أو الهوية المعينة من قبل المستخدم. لا يمكنك تكوين هذا الأسلوب في المدخل.
خدمة إنشاء خدمة التطبيقات
خدمة إنشاء App Service هي محرك توزيع وبناء App Service الأصلي. عند تحديد هذا الخيار، تضيف App Service خطاف ويب إلى المستودع الذي أذنت به. يؤدي أي دفع للتعليمات البرمجية إلى المستودع إلى تشغيل خطاف الويب، وتسحب App Service التغييرات وتفعل أي مهام نشر. لمزيد من المعلومات، راجع النشر من GitHub (Kudu).
تتطلب خدمة إنشاء App Service المصادقة الأساسية ل Source Control Manager (SCM) لإخطار الويب للعمل. المصادقة الأساسية أقل أمانا من أساليب المصادقة الأخرى. لمزيد من المعلومات، راجع:
Azure Pipelines
Azure Pipelines هو مكون بناء Azure DevOps. يمكنك تكوين البنية الأساسية لبرنامج ربط العمليات التجارية لإنشاء تطبيقك واختباره ونشره في App Service من أي مستودع مصدر مدعوم.
لاستخدام Azure Pipelines كموفر بناء، حدد خيار Azure Pipelines في App Service Deployment Center، ثم انتقل مباشرة إلى Azure DevOps لتكوين البنية الأساسية لبرنامج ربط العمليات التجارية. لمزيد من المعلومات، راجع النشر إلى App Service باستخدام Azure Pipelines.
الأسئلة المتداولة
- كيف يعمل موفر إنشاء GitHub Actions إذا تم تعطيل المصادقة الأساسية؟
- ماذا يحدث لتطبيقي أثناء النشر الذي يمكن أن يسبب فشلا أو سلوكا لا يمكن التنبؤ به؟
- ماذا يفعل خيار الهوية المعين من قبل المستخدم لإجراءات GitHub؟
- لماذا أرى الخطأ "ليس لديك أذونات كافية على هذا التطبيق لتعيين الوصول المستند إلى الدور إلى هوية مدارة وتكوين بيانات الاعتماد الموحدة"؟
- لماذا أرى الخطأ "هذه الهوية ليس لديها أذونات الكتابة على هذا التطبيق. الرجاء تحديد هوية مختلفة، أو العمل مع المسؤول لمنح دور المساهم في موقع الويب لهويتك على هذا التطبيق"؟
كيف يعمل موفر إنشاء GitHub Actions إذا تم تعطيل المصادقة الأساسية؟
لا يعمل موفر إنشاء GitHub Actions مع المصادقة الأساسية إذا تم تعطيل المصادقة الأساسية. حاول استخدام إجراءات GitHub مع خيار الهوية المعينة من قبل المستخدم بدلا من ذلك. لمزيد من المعلومات، راجع النشر بدون مصادقة أساسية.
ماذا يحدث لتطبيقي أثناء النشر الذي يمكن أن يسبب فشلا أو سلوكا لا يمكن التنبؤ به؟
تقوم أساليب النشر المدعومة رسميا بإجراء تغييرات على الملفات الموجودة في المجلد /home/site/wwwroot المستخدمة لتشغيل تطبيقك. يمكن أن يفشل النشر بسبب الملفات المؤمنة. قد يتصرف التطبيق أيضا بشكل غير متوقع أثناء النشر إذا لم يتم تحديث جميع الملفات في نفس الوقت، وهو أمر غير مرغوب فيه لتطبيق يواجه العملاء.
هناك بعض الطرق لتجنب هذه المشاكل.
- قم بتشغيل تطبيقك مباشرة من حزمة ZIP دون فك حزمتها.
- أوقف تطبيقك أو قم بتمكين وضع عدم الاتصال أثناء النشر. لمزيد من المعلومات، راجع التعامل مع الملفات المؤمنة أثناء النشر.
- النشر إلى فتحة التقسيم المرحلي مع تشغيل التبديل التلقائي .
ماذا يفعل خيار الهوية المعين من قبل المستخدم لإجراءات GitHub؟
عند تحديد الهوية المعينة من قبل المستخدم لمصدر GitHub ، تقوم App Service بتكوين جميع الموارد الضرورية في Azure وGitHub. تتيح App Service مصادقة Microsoft OpenID Connect الموصى بها باستخدام إجراءات GitHub.
على وجه التحديد، تقوم App Service بالعملية التالية:
- إنشاء بيانات اعتماد موحدة بين هوية مدارة يعينها المستخدم في Azure والمستودع والفرع المحددين في GitHub.
- إنشاء الأسرار
AZURE_CLIENT_IDوAZURE_TENANT_IDوAZURE_SUBSCRIPTION_IDمن بيانات الاعتماد الموحدة في مستودع GitHub المحدد. - تعيين الهوية لتطبيقك.
يمكنك بعد ذلك استخدام Azure/login الإجراء في سير عمل GitHub Actions في مستودع GitHub للمصادقة مع تطبيقك باستخدام OpenID Connect. للحصول على أمثلة، راجع إضافة ملف سير العمل إلى مستودع GitHub الخاص بك.
إذا كان حساب Azure الخاص بك لديه الأذونات المطلوبة، فإن App Service تنشئ هوية مدارة يعينها المستخدم وتكونها لك. لا تظهر هذه الهوية في صفحة الهوية لتطبيقك. إذا لم يكن لدى حساب Azure الخاص بك الأذونات المطلوبة، فيجب عليك تحديد هوية موجودة مع الدور المطلوب.
لماذا أرى الخطأ "ليس لديك أذونات كافية على هذا التطبيق لتعيين الوصول المستند إلى الدور إلى هوية مدارة وتكوين بيانات الاعتماد الموحدة"؟
تشير الرسالة إلى أن حساب Azure الخاص بك ليس لديه الأذونات المطلوبة لإنشاء هوية مدارة معينة من قبل المستخدم لإجراءات GitHub. تحتاج إلى الأذونات التالية، محددة النطاق لتطبيقك:
Microsoft.Authorization/roleAssignments/writeMicrosoft.ManagedIdentity/userAssignedIdentities/write
بشكل افتراضي، يكون لدى أدوار مسؤول وصول مستخدم Azure والمالك هذه الأذونات، ولكن دور المساهم لا يملكها. إذا لم يكن لديك الأذونات المطلوبة، فاعمل مع مسؤول Azure لإنشاء هوية مدارة معينة من قبل المستخدم لها دور المساهم في مواقع الويب . يمكنك بعد ذلك تحديد هذه الهوية في القائمة المنسدلة Identity لمصدر GitHub في App Service Deployment Center.
لمزيد من المعلومات حول استخدام الخطوات البديلة، راجع النشر إلى App Service باستخدام GitHub Actions.
لماذا أرى الخطأ "هذه الهوية ليس لديها أذونات الكتابة على هذا التطبيق. الرجاء تحديد هوية مختلفة، أو العمل مع المسؤول لمنح دور المساهم في موقع الويب لهويتك على هذا التطبيق"؟
تشير الرسالة إلى أن الهوية المدارة المحددة المعينة من قبل المستخدم ليس لها الدور المطلوب ل [تمكين OpenID Connect]((#what-do-the-user-assigned-identity-option-do-for-github-actions) بين مستودع GitHub والتطبيق App Service. يجب أن يكون للهوية دور المالك أو المساهم أو مساهم مواقع الويب على التطبيق. الدور الأقل امتيازا الذي تحتاجه الهوية هو مساهم مواقع الويب.