دفع الإعدادات إلى تكوين التطبيق باستخدام Azure Pipelines

تدفع مهمة Azure App Configuration Push القيم الأساسية من ملف التكوين إلى App Configuration Store الخاص بك. تتيح هذه المهمة وظائف الدائرة الكاملة داخل مسار التدفق حيث يمكنك الآن سحب الإعدادات من مخزن App Configuration بالإضافة إلى دفع الإعدادات إلى مخزن App Configuration.

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

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

يتيح لك اتصال الخدمة الوصول إلى الموارد الموجودة في اشتراك 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 Owner. يسمح هذا الدور للمهمة بالقراءة من مخزن App Configuration والكتابة إليه.

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

    Screenshot shows the Add role assignment dialog.

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

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

سيغطي هذا القسم كيفية استخدام مهمة App Configuration Push في تدفق بناء 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 Push.

    Screenshot shows the Add Task dialog with Azure App Configuration Push in the search box.

  3. قم بتكوين المعلمات الضرورية للمهمة لدفع قيم المفاتيح من ملف التكوين إلى مخزن App Configuration. تفسيرات المعلمات متاحة في قسم Parameters أدناه، وفي تلميحات الأدوات بجوار كل معلمة.

    Screenshot shows the app configuration push task parameters.

  4. حفظ وبناء قائمة الانتظار. سيعرض سجل الإنشاء أي حالات فشل حدثت أثناء تنفيذ المهمة.

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

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

  1. انتقل إلى صفحة مسارات الإصدارات عن طريق تحديد Pipelines>Releases. يمكن العثور على وثائق مسارات التدفقات هنا.
  2. اختر مسار تحرير موجود. إذا لم يكن لديك واحد، فحدد + New لإنشاء واحدة جديدة.
  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. في مربع الحوار Add tasks، اكتب Azure App Configuration Push في مربع البحث وحدده.
  7. قم بتكوين المعلمات الضرورية داخل المهمة لدفع قيمك الرئيسية من ملف التكوين الخاص بك إلى مخزن App Configuration الخاص بك. تفسيرات المعلمات متاحة في قسم Parameters أدناه، وفي تلميحات الأدوات بجوار كل معلمة.
  8. حفظ واستعلام الإصدار. سيعرض سجل الإصدار أي حالات فشل تمت مواجهتها أثناء تنفيذ المهمة.

المعلمات

يتم استخدام المعلمات التالية بواسطة مهمة App Configuration Push:

  • Azure subscription: قائمة منسدلة تحتوي على اتصالات خدمة Azure المتاحة. لتحديث قائمة اتصالات خدمة Azure المتوفرة وتحديثها، اضغط على الزر Refresh Azure subscription على يسار مربع النص.
  • نقطة نهاية تكوين التطبيق: قائمة منسدلة تقوم بتحميل نقطة نهاية مخازن التكوين المتوفرة ضمن الاشتراك المحدد. لتحديث قائمة نقاط نهاية مخازن التكوين المتوفرة وتحديثها، اضغط على الزر Refresh App Configuration Endpoint إلى يمين مربع النص.
  • Configuration File Path: المسار إلى ملف التكوين الخاص بك. تبدأ معلمة Configuration File Path عند جذر مستودع الملفات. يمكنك تصفح الأداة الخاصة بالبناء لتحديد ملف التكوين. (زر ... على يمين مربع النص). تعتمد تنسيقات الملفات المدعومة على ملف تعريف محتوى الملف. بالنسبة إلى ملف التعريف الافتراضي، تكون تنسيقات الملفات المدعومة هي yaml وjson والخصائص. بالنسبة لملف تعريف KvSet، يكون تنسيق الملف المدعوم هو json.
  • ملف تعريف محتوى الملف: ملف تعريف محتوى ملف التكوين. القيمة الافتراضية هي Default.
    • الافتراضي: يشير إلى تنسيقات ملفات التكوين التقليدية التي تستهلكها التطبيقات مباشرة.
    • Kvset: يشير إلى مخطط ملف يحتوي على جميع خصائص قيمة مفتاح تكوين التطبيق، بما في ذلك المفتاح والقيمة والتسمية ونوع المحتوى والعلامات. لا تنطبق معلمات المهمة "الفاصل" و"التسمية" و"نوع المحتوى" و"البادئة" و"العلامات" و"العمق" عند استخدام ملف تعريف Kvset.
  • وضع الاستيراد: القيمة الافتراضية هي الكل. تحديد السلوك عند استيراد قيم المفاتيح.
    • الكل: استيراد كافة قيم المفاتيح في ملف التكوين إلى تكوين التطبيق.
    • Ignore-Match: يقوم باستيراد الإعدادات التي لا تحتوي على قيمة مفتاح مطابقة فقط في تكوين التطبيق. تعتبر قيم المفاتيح المطابقة قيم مفاتيح بنفس المفتاح والتسمية والقيمة ونوع المحتوى والعلامات.
  • التشغيل الجاف: القيمة الافتراضية غير محددة.
    • محدد: لن يتم إجراء أي تحديثات على App Configuration. بدلا من ذلك، ستتم طباعة أي تحديثات كان سيتم إجراؤها في تشغيل عادي إلى وحدة التحكم للمراجعة.
    • غير محدد: يقوم بإجراء أي تحديثات على App Configuration ولا تتم طباعته إلى وحدة التحكم.
  • Separator: الفاصل المستخدم لتسوية ملفات .json و.yml.
  • Depth: العمق الذي سيتم تسوية ملفات .json و. eml إليه.
  • Prefix: سلسلة يتم إلحاقها ببداية كل مفتاح يتم دفعه إلى مخزن App Configuration.
  • Label: سلسلة تتم إضافتها إلى كل قيمة مفتاح كتسمية داخل مخزن App Configuration.
  • Content Type: سلسلة تتم إضافتها إلى كل قيمة مفتاح كنوع المحتوى داخل مخزن App Configuration.
  • Tags: عنصر JSON بتنسيق {"tag1":"val1", "tag2":"val2"}، والذي يحدد العلامات التي تمت إضافتها إلى كل قيمة مفتاح يتم دفعها إلى مخزن App Configuration.
  • حذف قيم المفاتيح غير المضمنة في ملف التكوين: القيمة الافتراضية غير محددة. يعتمد سلوك هذا الخيار على ملف تعريف محتوى ملف التكوين.
    • محدد:
      • ملف تعريف المحتوى الافتراضي: يزيل كافة قيم المفاتيح في متجر App Configuration التي تتطابق مع كل من البادئة والتسمية المحددة قبل دفع قيم مفاتيح جديدة من ملف التكوين.
      • ملف تعريف محتوى Kvset: يزيل كافة قيم المفاتيح في متجر App Configuration غير المضمنة في ملف التكوين قبل دفع قيم مفاتيح جديدة من ملف التكوين.
    • Unchecked: يدفع بجميع قيم المفاتيح من ملف التكوين إلى مخزن App Configuration ويترك كل شيء آخر في مخزن App Configuration كما هو.

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

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

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

كيف يمكنني تحميل ملفات تكوين متعددة؟

قم بإنشاء مثيلات متعددة لمهمة Push لـ Azure App Configuration داخل نفس مسار التدفق لدفع ملفات تكوين متعددة إلى مخزن App Configuration.

كيف يمكنني إنشاء مراجع Key Vault أو علامات الميزات باستخدام هذه المهمة؟

اعتمادا على ملف تعريف محتوى الملف الذي حددته، يرجى الرجوع إلى الأمثلة في دعم تكوين تطبيق Azure لملف التكوين.

لماذا أتلقى خطأ 409 عند محاولة دفع قيم المفاتيح إلى مخزن التكوين الخاص بي؟

ستظهر رسالة خطأ تعارض 409 إذا حاولت المهمة إزالة أو الكتابة فوق قيمة مفتاح مؤمنة في مخزن App Configuration.