سحب الإعدادات من App Configuration باستخدام Azure Pipelines

تسحب مهمة تكوين تطبيق Azure قيم المفاتيح من متجر App Configuration الخاص بك وتعينها كمتغيرات البنية الأساسية لبرنامج ربط العمليات التجارية Azure، والتي يمكن استهلاكها بواسطة المهام اللاحقة. تكمل هذه المهمة مهمة Azure App Configuration Push التي تدفع قيم المفاتيح من ملف التكوين إلى متجر تكوين التطبيق. لمزيد من المعلومات، راجع دفع الإعدادات إلى تكوين التطبيق باستخدام Azure Pipelines.

المتطلبات الأساسية

إنشاء اتصال خدمة

يتيح لك اتصال الخدمة الوصول إلى الموارد الموجودة في اشتراك Azure من مشروع Azure DevOps.

  1. في Azure DevOps، انتقل إلى المشروع الذي يحتوي على مسار التدفق المستهدف. في الركن الأيسر السفلي، حدد Project settings.

  2. تحت البنيات الأساسية لبرنامج ربط العمليات التجارية، حدد اتصالات الخدمة. في الزاوية العلوية اليمنى، حدد New service connection.

  3. في New service connection، حدد Azure Resource Manager.

    Screenshot shows selecting Azure Resource Manager from the New service connection dropdown list.

  4. في مربع الحوار Authentication method، حدد Service principal (automatic) لإنشاء مبدأ خدمة جديد أو حدد Service principal (manual)لاستخدام مدير الخدمة.

  5. أدخل اشتراكك ومجموعة الموارد واسما لاتصال الخدمة.

إذا قمت بإنشاء مدير خدمة جديد، فابحث عن اسم مدير الخدمة المعين لاتصال الخدمة. ستضيف تعيين دور جديد إلى مدير الخدمة هذا في الخطوة التالية.

  1. انتقل إلى Project Settings>Service connections.

  2. حدد اتصال الخدمة الجديد.

  3. حدد Manage Service Principal.

  4. لاحظ القيمة في Display name.

    Screenshot shows the service principal display name.

إضافة تعيين دور

قم بتعيين تعيينات دور تكوين التطبيق المناسبة لمعلومات تسجيل الدخول المستخدمة في المهمة حتى تتمكن المهمة من الوصول إلى مخزن App Configuration.

  1. انتقل إلى مخزن App Configuration المستهدف.

  2. على الجانب الأيسر، حدد التحكم بالوصول (IAM).

  3. في الجزء الأيمن، حدد Add role assignments.

    Screenshot shows the Add role assignments button.

  4. بالنسبة إلى Role، حدد App Configuration Data Reader. يسمح هذا الدور للمهمة بالقراءة من متجر App Configuration.

  5. حدد كيان الخدمة المرتبط باتصال الخدمة الذي قمت بإنشائه في القسم السابق.

    Screenshot shows the Add role assignment dialog.

  6. حدد مراجعة + تعيين.

  7. إذا كان المخزن يحتوي على مراجع Key Vault، فانتقل إلى Key Vault ذي الصلة وقم بتعيين دور Key Vault Secret User لمدير الخدمة الذي تم إنشاؤه في الخطوة السابقة. من قائمة Key Vault، حدد Access policies وتأكد من تحديد Azure role-based access control كنموذج الإذن.

الاستخدام في البنى

سيغطي هذا القسم كيفية استخدام مهمة تكوين تطبيق Azure في البنية الأساسية لبرنامج ربط العمليات التجارية لإنشاء Azure DevOps.

  1. انتقل إلى صفحة build pipeline بالنقر على Pipelines>Pipelines. للحصول على وثائق البنية الأساسية لبرنامج ربط العمليات التجارية، راجع إنشاء البنية الأساسية لبرنامج ربط العمليات التجارية الأولى.
    • إذا كنت تقوم بإنشاء مسار بناء جديد، في الخطوة الأخيرة من العملية، في علامة التبويب Review، حدد Show assistant على الجانب الأيسر من المسار. Screenshot shows the Show assistant button for a new pipeline.
    • إذا كنت تستخدم مسار تدفق بناء موجود، فانقر على الزر Edit أعلى اليمين. Screenshot shows the Edit button for an existing pipeline.
  2. ابحث عن مهمة Azure App Configuration. Screenshot shows the Add Task dialog with Azure App Configuration in the search box.
  3. تكوين المعلمات الضرورية للمهمة لسحب قيم المفاتيح من متجر App Configuration. تتوفر أوصاف المعلمات في قسم Parameters أدناه وفي تلميحات الأدوات بجوار كل معلمة.
    • قم بتعيين معلمة Azure subscription إلى اسم اتصال الخدمة الذي قمت بإنشائه في خطوة سابقة.
    • قم بتعيين نقطة نهاية تكوين التطبيق إلى نقطة نهاية متجر App Configuration.
    • اترك القيم الافتراضية للمعلمات المتبقية. Screenshot shows the app configuration task parameters.
  4. حفظ وبناء قائمة الانتظار. سيعرض سجل الإنشاء أي حالات فشل حدثت أثناء تنفيذ المهمة.

الاستخدام في الإصدارات

سيغطي هذا القسم كيفية استخدام مهمة تكوين تطبيق Azure في البنية الأساسية لبرنامج ربط العمليات التجارية إصدار Azure DevOps.

  1. انتقل إلى صفحة مسارات الإصدارات عن طريق تحديد Pipelines>Releases. للحصول على وثائق مسار الإصدار، راجع مسارات الإصدار.
  2. اختر مسار تحرير موجود. إذا لم يكن لديك مسار، فانقر فوق New pipeline لإنشاء مسار جديد.
  3. حدد الزر Edit في الزاوية العلوية اليمنى لتحرير مسار التحرير.
  4. من القائمة المنسدلة Tasks، اختر Stage التي تريد إضافة المهمة إليها. يمكن العثور على مزيد من المعلومات حول المراحل هنا. Screenshot shows the selected stage in the Tasks dropdown.
  5. انقر على + بجوار الوظيفة التي تريد إضافة مهمة جديدة إليها. Screenshot shows the plus button next to the job.
  6. ابحث عن مهمة Azure App Configuration. Screenshot shows the Add Task dialog with Azure App Configuration in the search box.
  7. قم بتكوين المعلمات الضرورية داخل المهمة لسحب قيم المفاتيح من متجر App Configuration. تتوفر أوصاف المعلمات في قسم Parameters أدناه وفي تلميحات الأدوات بجوار كل معلمة.
    • قم بتعيين معلمة Azure subscription إلى اسم اتصال الخدمة الذي قمت بإنشائه في خطوة سابقة.
    • قم بتعيين نقطة نهاية تكوين التطبيق إلى نقطة نهاية متجر App Configuration.
    • اترك القيم الافتراضية للمعلمات المتبقية.
  8. حفظ واستعلام الإصدار. سيعرض سجل الإصدار أي حالات فشل تمت مواجهتها أثناء تنفيذ المهمة.

المعلمات

يتم استخدام المعلمات التالية بواسطة مهمة تكوين تطبيق Azure:

  • Azure subscription: قائمة منسدلة تحتوي على اتصالات خدمة Azure المتاحة. لتحديث قائمة اتصالات خدمة Azure المتوفرة وتحديثها، اضغط على الزر Refresh Azure subscription على يسار مربع النص.
  • نقطة نهاية تكوين التطبيق: قائمة منسدلة تقوم بتحميل التكوين المتوفر الخاص بك بتخزين نقاط النهاية ضمن الاشتراك المحدد. لتحديث قائمة نقاط نهاية مخازن التكوين المتوفرة وتحديثها، اضغط على الزر Refresh App Configuration Endpoint إلى يمين مربع النص.
  • وضع التحديد: يحدد كيفية تحديد قيم المفاتيح المقروءة من مخزن التكوين. يسمح وضع التحديد "الافتراضي" باستخدام عوامل تصفية المفاتيح والتسميات. يسمح وضع التحديد "لقطة" بتحديد قيم المفاتيح من لقطة. القيمة الافتراضية هي Default.
  • عامل تصفية المفتاح: يمكن استخدام عامل التصفية لتحديد قيم المفاتيح المطلوبة من تكوين تطبيق Azure. ستحدد قيمة * جميع قيم المفاتيح. لمزيد من المعلومات حول، راجع الاستعلام عن قيم المفاتيح.
  • التسمية: تحدد التسمية التي يجب استخدامها عند تحديد قيم المفاتيح من متجر App Configuration. إذا لم يتم توفير تسمية، فسيتم استرداد قيم المفاتيح التي لا تحمل تسمية. لا يُسمح بالأحرف التالية: , *.
  • اسم اللقطة: يحدد اللقطة التي يجب استرداد قيم المفاتيح منها في Azure App Configuration.
  • اقتطاع بادئة المفتاح: يحدد بادئة واحدة أو أكثر يجب اقتطاعها من مفاتيح تكوين التطبيق قبل تعيينها كمتغيرات. يمكن فصل بادئات متعددة بحرف سطر جديد.
  • منع التحذير للمفاتيح التي تم تجاوزها: القيمة الافتراضية غير محددة. يحدد ما إذا كان يجب إظهار التحذيرات عند تجاوز المفاتيح الموجودة. قم بتمكين هذا الخيار عندما يكون من المتوقع أن تحتوي قيم المفاتيح التي تم تنزيلها من App Configuration على مفاتيح متداخلة مع ما هو موجود في متغيرات البنية الأساسية لبرنامج ربط العمليات التجارية.

استخدام قيم المفاتيح في المهام اللاحقة

يتم تعيين قيم المفاتيح التي يتم جلبها من App Configuration كمتغيرات البنية الأساسية لبرنامج ربط العمليات التجارية، والتي يمكن الوصول إليها كمتغيرات البيئة. مفتاح متغير البيئة هو مفتاح قيمة المفتاح التي يتم استردادها من App Configuration بعد اقتطاع البادئة، إذا تم تحديدها.

على سبيل المثال، إذا كانت مهمة لاحقة تقوم بتشغيل برنامج نصي PowerShell، فقد تستهلك قيمة مفتاح مع المفتاح "myBuildSetting" مثل هذا:

echo "$env:myBuildSetting"

وستتم طباعة القيمة إلى وحدة التحكم.

إشعار

سيتم حل مراجع Key Vault Azure داخل تكوين التطبيق وتعيينها كمتغيرات سرية. في البنية الأساسية لبرنامج ربط العمليات التجارية Azure،يتم إخفاء المتغيرات السرية من السجل. لا يتم تمريرها إلى مهام كمتغيرات بيئة ويجب بدلاً من ذلك تمريرها كمدخلات.

استكشاف الأخطاء وإصلاحها

في حال حدوث خطأ غير متوقع، يمكن تمكين سجلات تصحيح الأخطاء عن طريق تعيين متغير مسار التدفق system.debug على true.

الأسئلة المتداولة

كيف أعمل إنشاء التكوين الخاص بي من مفاتيح وتسميات متعددة؟

هناك أوقات قد يلزم فيها تكوين التكوين من تسميات متعددة، على سبيل المثال، الافتراضي وdev. يمكن استخدام مهام تكوين التطبيق المتعددة في مسار واحد لتنفيذ هذا السيناريو. سوف تحل قيم المفاتيح التي تم جلبها بواسطة مهمة في خطوة لاحقة محل أي قيم من الخطوات السابقة. في المثال المذكور أعلاه، يمكن استخدام مهمة لتحديد قيم المفاتيح باستخدام التسمية الافتراضية بينما يمكن للمهمة الثانية تحديد قيم المفاتيح باستخدام تسمية التطوير. ستتجاوز المفاتيح التي تحتوي على تسمية التطوير نفس المفاتيح ذات التسمية الافتراضية.