التحكم بالمصدر مع ملفات الحلول

يمكن استخدام أداة Solution Packager مع أي نظام للتحكم في المصدر. بعد استخراج ملف الحل .zip إلى مجلد، قم بإضافته وإرساله إلى نظام التحكم في المصدر الخاص بك. بعد ذلك، يمكن مزامنة هذه الملفات على كمبيوتر آخر حيث يمكن حزمها إلى ملف حل جديد مماثل من النوع zip.

ثمة جانب مهم عند استخدام ملفات المكونات المستخرجة في نظام التحكم بالمصدر وهو أن إضافة جميع الملفات إلى نظام التحكم بالمصدر قد يتسبب في حدوث تكرار غير ضروري. انتقل الى مرجع ملف مكون الحل لاكتشاف على الملفات التي يتم إنشاؤها لكل نوع مكون والملفات التي يوصي باستخدامها في نظام التحكم بالمصدر.

ومع الحاجة إلى ضرورة إجراء تخصيصات وتغييرات إضافية لازمة للحل، يتعين على المطورين تحرير المكونات أو تخصيصها من خلال وسائل موجودة والتصدير من جديد لإنشاء ملف zip. واستخراج ملف الحل المضغوط إلى المجلد نفسه.

هام

فيما عدا الأقسام التي ورد وصفها في متى يجب تحرير ملف التخصيصات، فإن لا يتم دعم التحرير اليدوي لملفات المكونات المستخرجة وملفات .zip.

عندما تقوم أداة Solution Packager باستخراج ملفات المكونات، فهي لا تستبدل ملفات المكونات الموجودة التي تحمل نفس الاسم إذا كان محتوى الملف متطابقًا. علاوةً على ذلك، فإن الأداة تحترم سمة القراءة فقط على ملفات المكونات مما يؤدي إلى إنتاج تحذير في نافذة وحدة التحكم يشير إلى عدم كتابة ملفات معينة. تتيح هذه الحماية للمستخدم التحقق من مجموعة صغيرة من الملفات التي تتغير من خلال التحكم بالمصدر. يمكن استخدام المعلمة /clobber لتجاوز الملفات للقراءة فقط وتتسبب في كتابتها أو حذفها. يمكن استخدام المعلمة /allowWrite لتقييم تأثير عملية الاستخراج بدون التسبب في الواقع في كتابة أي ملفات أو حذفها. يُعد استخدام المعلمة /allowWrite مع التسجيل التفصيلي فعالاً.

بعد اكتمال عملية الاستخراج باستخدام الحد الأدنى من مجموعة الملفات التي تم فحصها من التحكم في المصدر، يمكن للمطور إرسال الملفات المتغيرة مرة أخرى إلى التحكم في المصدر، كما هو الحال مع أي نوع آخر من ملفات المصدر.

تنسيقات ملفات التحكم بالمصادر

تدعم أداة Solution Packager تنسيقي ملفات لملفات المكونات المستخرجة. يؤدي اختيار التنسيق الصحيح مقدما إلى تجنب الاضطرار إلى ترحيل بنية المستودع لاحقا.

تنسيق XML (قديم) تنسيق YAML للتحكم في المصدر
بيان الحل Other\Solution.xml + Other\Customizations.xml solutions/<name>/solution.yml ودعم ملفات YAML
قابليه القراءه XML مطول YAML مضغوط — أسهل في القراءة والمراجعة
جودة Diff في Git فروق XML الكبيرة اختلافات قليلة ومركزة
مستودع متعدد الحلول البرمجية غير مدعوم معتمد - تشارك حلول متعددة مجلدا واحدا
تطبيقات اللوحة (.msapp) غير مدعوم مدعوم
التدفقات الحديثة غير مدعوم مدعوم
تكامل Git الأصلي غير مستخدم يتم استخدامه دائمًا — تكامل Git يقوم دائمًا بكتابة YAML

متى تستخدم تنسيق YAML: لجميع المشاريع الجديدة، وكلما كنت تستخدم تكامل Dataverse Git الأصلي. تنسيق YAML قابل للتوافق المستقبلي وينتج تاريخ تغيير أنظف.

متى تستخدم تنسيق XML: فقط عند العمل مع المستودعات الموجودة التي تستخدم تنسيق XML بالفعل، أو عند استخدام الأدوات القديمة التي لا تدعم YAML.

ملحوظة

عندما تقوم بتثبيت الحلول باستخدام تكامل Git الأصلي في Power Apps، يتم تخزينها دائمًا بتنسيق التحكم في المصدر YAML. لحزم هذا المصدر يدويا أو فك حزمته باستخدام SolutionPackager أو pac solution pack، يجب أن يتبع المجلد بنية مجلد YAML. مزيد من المعلومات: أداة SolutionPackager — تنسيقات ملفات التحكم بالمصادر

تطوير الفريق

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

  1. يعمل كل من المطور A والمطور B على الحل نفسه.

  2. على أجهزة الكمبيوتر المستقلة، يحصل كلاهما على أحدث مصادر الحل من تحكم المصدر ثم يقومان بحزم واستيراد ملف الحل غير المدار بصيغة .zip إلى مؤسسات Microsoft Dataverse مستقلة.

  3. يقوم المطور أ بتخصيص طريقة عرض نظام "جهات الاتصال النشطة" والنموذج الرئيسي للكيان جهة الاتصال.

  4. يقوم المطور B بتخصيص النموذج الرئيسي لكيان الحساب وتغيير "عرض البحث عن جهة الاتصال".

  5. يقوم كلا المطورين بتصدير واستخراج ملف حل غير مُدار من النوع zip.

    1. سيحتاج المطور أ إلى التحقق من ملف واحد للنموذج الرئيسي لجهة الاتصال، وملف واحد لعرض "جهات الاتصال النشطة".

    2. سيحتاج المطور B إلى التحقق من ملف واحد للنموذج الرئيسي للحساب، وملف واحد لـ "عرض البحث عن جهة الاتصال".

  6. بإمكان المطورين إرسال تغييراتهم بأي ترتيب، لأن تغييراتهم تتعلق بملفات منفصلة.

  7. بعد اكتمال عمليتي الإرسال، يمكنهما تكرار الخطوة الثانية ثم متابعة إجراء المزيد من التغييرات في مؤسستهما المستقلة. كل واحد منهما لديه مجموعتان من التغييرات، دون أي تعديلات على عمله الخاص.

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

  1. يعمل كل من المطور A والمطور B على الحل نفسه.

  2. على أجهزة كمبيوتر مستقلة، يحصل كل واحد منهما على أحدث مصادر الحل من نظام التحكم بالمصدر ويقومون بحزم واستيراد ملف حل غير مُدار من نوع zip. إلى مؤسسات مستقلة.

  3. يقوم المطور أ بتخصيص طريقة عرض نظام "جهات الاتصال النشطة" والنموذج الرئيسي لجدول جهات الاتصال.

  4. يقوم المطور B بتخصيص النموذج الرئيسي لجدول الحساب وتغيير "جهات الاتصال النشطة".

  5. يقوم كلا المطورين بتصدير واستخراج ملف حل غير مُدار من النوع zip.

    1. سيحتاج المطور أ إلى استرجاع ملف واحد للنموذج الرئيسي لجهة الاتصال، وملف واحد لعرض "جهات الاتصال النشطة".

    2. سيحتاج المطور B إلى سحب ملف واحد للنموذج الرئيسي للحساب، وملف واحد لعرض "جهات الاتصال النشطة".

  6. المطور A جاهز أولاً.

    1. قبل أن يقوم المطور A بالإرسال إلى نظام التحكم بالمصدر، يجب عليه الحصول على أحدث المصادر لضمان عدم وجود تعارض في عمليات الإيداع السابقة مع التغييرات التي أجراها.

    2. لا توجد تعارضات إذا كان المطور A قادرًا على الإرسال.

  7. المطور B جاهز بعد المطور A.

    1. قبل أن يقوم المطور B بالإرسال، يجب عليه الحصول على أحدث المصادر لضمان عدم وجود تعارض في عمليات الإيداع السابقة مع التغييرات التي أجراها.

    2. هناك تعارض لأن ملف "جهات الاتصال النشطة" قد تم تعديله منذ آخر استرداد للمطور B لأحدث المصادر.

    3. يجب أن يقوم المطور B بتسوية التعارض. من الممكن أن تساعد قدرات نظام التحكم في المصدر المستخدم في هذه العملية؛ وإلا فإن الخيارات التالية كلها قابلة للتطبيق.

      1. يمكن للمطور ب، من خلال سجل التحكم في المصدر، إذا كان متاحًا، ملاحظة أن المطور أ أجرى التغيير السابق. من خلال الاتصال المباشر، يمكنهما مناقشة كل تغيير. بعد ذلك، يتعين على المطور B فقط تحديث المؤسسة بالحل المتفق عليه. ثم يقوم المطور B بتصدير الملف المتعارض واستخراجه والكتابة فوقه وإرساله.

      2. السماح لنظام التحكم بالمصدر بالكتابة فوق الملف المحلي. يقوم المطور B بتعبئة الحل واستيراده إلى مؤسسته، ثم يقوم بتقييم حالة العرض وإعادة تخصيصه حسب الضرورة. بعد ذلك، قد يقوم المطور B بتصدير الملف المتضارب واستخراجه وكتابة فوقه.

      3. إذا كان التغيير السابق يعتبر غير ضروري، فإن المطور ب يسمح لنسخته من الملف بالكتابة فوق الإصدار الموجود في التحكم بالمصدر ويقوم بالإرسال.

سواء كنت تعمل في بيئة مشتركة أو بيئة مستقلة، فإن تطوير الفريق حلول Dataverse يتطلب من العاملين بشكل فعال على حل مشترك أن يكونوا على علم بالعمل الذي يقوم به الآخرون. لا تقوم أداة Solution Packager بإزالة هذه الحاجة بشكل كامل، ولكنها تتيح دمج التغييرات غير المتضاربة بسهولة على مستوى التحكم في المصدر، كما تسلط الضوء بشكل استباقي على المكونات الموجزة التي تنشأ فيها التعارضات.

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

إنشاء حل

يحدد هذا الإجراء الخطوات النموذجية المستخدمة عند إنشاء الحل لأول مرة.

  1. في بيئة نظيفة مع Dataverse، قم بإنشاء حل، ثم قم بإضافة أو إنشاء مكونات حسب الضرورة.

  2. عندما تكون مستعدًا لتسجيل الوصول، الرجاء اتباع هذه الخطوات.

    1. صدّر الحل غير المُدار.

    2. باستخدام الأداة SolutionPackager، استخرج الحل إلى ملفات المكونات.

    3. من ملفات المكونات التي تم استخراجها، أضف الملفات الضرورية إلى نظام التحكم بالمصدر.

    4. أرسل هذه التغييرات إلى نظام التحكم بالمصدر.

تعديل حل

يحدد الإجراء التالي الخطوات النموذجية المستخدمة عند تعديل حل موجود.

  1. قم بمزامنة مصادر ملفات مكونات الحل أو احصل على أحدثها.

  2. باستخدام أداة Solution Packager، قم بتعبئة ملفات المكونات في ملف حل غير مُدار بصيغة zip.

  3. استيراد ملف الحل غير المُدار إلى بيئة.

  4. قم بتخصيص وتحرير الحل حسب الضرورة.

  5. عندما تكون مستعدًا للتحقق من التغييرات في التحكم بالمصدر، اتبع الخطوات التالية.

    1. صدّر الحل غير المُدار.

    2. باستخدام أداة Solution Packager، قم باستخراج الحل المُصدر إلى ملفات المكونات.

    3. قم بمزامنة أحدث المصادر من نظام التحكم بالمصدر أو احصل عليها.

    4. قم بالتسوية في حاله وجود تعارضات.

    5. أرسل التغييرات إلى نظام التحكم بالمصدر.

    يجب تنفيذ الخطوتين 2 و3 قبل حدوث المزيد من التخصيصات في مؤسسة التطوير. في الخطوة 5، يجب إكمال الخطوة ب قبل الخطوة ج.

راجع أيضًا

مرجع ملف مكون الحل (SolutionPackager)
أداة إنشاء حزم الحلول
تنسيقات ملفات التحكم بالمصادر