مشاركة عبر


كتابة ملف تخصيص لمربع تطوير

في هذه المقالة، ستتعلم كيفية إنشاء ملف تخصيص واختباره لمربع التطوير الخاص بك باستخدام Visual Studio Code (VS Code) الصفحة الرئيسية للمطور.

هناك طريقتان لاستخدام ملف تخصيص في Microsoft Dev Box. يتم تطبيق تخصيصات الفريق تلقائيا عندما يقوم المطورون بتكوينها على تجمع. يتم تطبيق التخصيصات الفردية عندما يقوم المستخدم بإنشاء مربع تطوير.

تساعدك هذه المقالة على تحديد المهام الجديدة في ملف التخصيص الخاص بك، وتطبيقها على مربعات التطوير الخاصة بك، واختبار هذه التخصيصات مباشرة في VS Code.

هام

ميزة تخصيصات فريق Dev Box قيد المعاينة حاليا. لمزيد من المعلومات حول حالة المعاينة، راجع شروط الاستخدام التكميلية لمعاينات Microsoft Azure. يحدد المستند المصطلحات القانونية التي تنطبق على ميزات Azure الموجودة في الإصدار التجريبي أو في المعاينة أو غير ذلك لم يتم إصدارها بعد في التوفر العام.

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

لإكمال الخطوات الواردة في هذه المقالة، يجب عليك:

الأذونات المطلوبة لتكوين التخصيصات

لتنفيذ الإجراءات المطلوبة لإنشاء التخصيصات وتطبيقها على مربع تطوير، تحتاج إلى الأذونات التالية:

الإجراء الإذن/الدور
تمكين الكتالوجات على مستوى المشروع لمركز التطوير. مهندس النظام الأساسي مع حق الوصول للكتابة على الاشتراك.
تمكين إعدادات مزامنة الكتالوج لمشروع. مهندس النظام الأساسي مع حق الوصول للكتابة على الاشتراك.
إرفاق كتالوج بمشروع. أذونات مسؤول المشروع أو المساهم في المشروع.
إنشاء ملف تخصيص. لم يتم تحديد أي شيء. يمكن لأي شخص إنشاء ملف تخصيص.
استخدم مدخل المطور لتحميل ملف YAML وتطبيقه أثناء إنشاء مربع التطوير. مستخدم Dev Box.
إضافة مهام إلى كتالوج. إذن لإضافته إلى المستودع الذي يستضيف الكتالوج.

ما هو ملف التخصيص؟

تستخدم تخصيصات Dev Box ملفا بتنسيق YAML لتحديد قائمة بالمهام التي يجب تطبيقها عند إنشاء مطور لمربع تطوير. يمكن أن تكون هذه المهام بسيطة مثل تثبيت حزمة، أو معقدة مثل تشغيل مجموعة معقدة من البرامج النصية لإعداد قاعدة تعليمات برمجية. تحدد المهام الكتالوج وتوفر معلمات مثل اسم البرنامج المراد تثبيته. ثم يتم توفير ملف التخصيص للمطورين الذين ينشئون مربعات تطوير.

يستخدم winget المثال التالي مهمة لتثبيت VS Code، ومهمة git-clone لاستنساخ مستودع:

# From https://github.com/microsoft/devcenter-examples
$schema: 1.0
tasks:
  - name: winget
    parameters:
      package: Microsoft.VisualStudioCode
      runAsUser: true
  - name: git-clone
    description: Clone this repository into C:\Workspaces
    parameters:
      repositoryUrl: https://github.com/OrchardCMS/OrchardCore.git
      directory: C:\Workspaces

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

ملفات التخصيص الفردية

  • تحتوي على المهام التي يتم تطبيقها عندما يقوم مطور بإنشاء مربع تطوير.
  • يتم تحميلها من قبل المطور أثناء إنشاء مربع تطوير.

ملفات تخصيص الفريق

  • تحتوي على المهام التي يتم تطبيقها عندما يقوم مطور بإنشاء مربع تطوير.
  • تتم مشاركتها عبر فريق أو مشروع.
  • قم بتضمين حقل يحدد الصورة الأساسية.
  • تسمى imagedefinition.yaml.
  • يتم تحميلها إلى المستودع الذي يستضيف كتالوج.
  • يتم استخدامها تلقائيا عندما يقوم مطور بإنشاء مربع تطوير من تجمع تم تكوينه.

هام

يمكن لتعريفات الصور استخدام صور سوق Dev Box فقط كصور أساسية. للحصول على قائمة بالصور التي يمكن لمركز التطوير الوصول إليها، استخدم أمر Azure CLI هذا:

az devcenter admin image list --dev-center-name CustomizationsImagingHQ --resource-group TeamCustomizationsImagingRG --query "[].name"

إنشاء ملف تخصيص

يمكنك إنشاء ملفات التخصيص وإدارتها باستخدام VS Code. يمكنك استخدام ملحق Microsoft Dev Box في VS Code لاكتشاف المهام في الكتالوج المرفق واختبار ملف التخصيص.

  1. إنشاء مربع تطوير (أو استخدام مربع تطوير موجود) للاختبار.

  2. في مربع تطوير الاختبار، قم بتثبيت VS Code ثم قم بتثبيت ملحق Dev Box.

  3. قم بتنزيل مثال لملف تخصيص YAML من مستودع العينات وافتحه في VS Code.

  4. اكتشف المهام المتوفرة في الكتالوج باستخدام لوحة الأوامر. حدد View>Command Palette>Dev Box: سرد المهام المتوفرة لمربع التطوير هذا.

    لقطة شاشة للوحة أوامر Dev Box في Visual Studio Code، تعرض الأمر لإدراج المهام المتوفرة.

  5. اختبار التخصيص في VS Code باستخدام لوحة الأوامر. حدد View>Command Palette>Dev Box: Apply Customizations Tasks.

    لقطة شاشة للوحة أوامر Dev Box في Visual Studio Code، تظهر الأمر لتطبيق مهام التخصيص.

  6. يتم تشغيل ملف التخصيص على الفور ويطبق المهام المحددة على مربع تطوير الاختبار. افحص التغييرات، وتحقق من محطة VS Code الطرفية بحثا عن أي أخطاء أو تحذيرات تم إنشاؤها أثناء تنفيذ المهمة.

  7. عند تشغيل ملف التخصيص بنجاح، قم بتحميله إلى الكتالوج.

استنساخ مستودع خاص باستخدام ملف تخصيص

يمكنك استخدام البيانات السرية من مخزن مفاتيح Azure في تخصيصات YAML لاستنساخ المستودعات الخاصة، أو مع أي مهمة مخصصة تقوم بتأليفها تتطلب رمزا مميزا للوصول. في ملف تخصيص الفريق، يمكنك استخدام رمز وصول شخصي (PAT) مخزن في مخزن مفاتيح للوصول إلى مستودع خاص.

استخدام أسرار المخزن الرئيسي في ملفات تخصيص الفريق

لاستنساخ مستودع خاص، قم بتخزين PAT الخاص بك كبيانات سرية لمخزن المفاتيح، واستخدمه عند استدعاء git-clone المهمة في التخصيص الخاص بك.

لتكوين أسرار مخزن المفاتيح للاستخدام في تخصيصات YAML الخاصة بك:

  1. تأكد من أن الهوية المدارة لمشروع مركز التطوير الخاص بك لها دور قارئ Key Vault ودور مستخدم Key Vault Secrets على مخزن المفاتيح الخاص بك.
  2. امنح دور مستخدم Key Vault Secrets لسر key vault لكل مستخدم أو مجموعة مستخدمين يجب أن تكون قادرة على استهلاك السر أثناء تخصيص مربع التطوير. يجب أن يتضمن المستخدم أو المجموعة التي تم منحها الدور الهوية المدارة لمركز التطوير وحساب المستخدم الخاص بك وأي مستخدم أو مجموعة تحتاج إلى السر أثناء تخصيص مربع التطوير.

لمزيد من المعلومات، راجع:

يمكنك الرجوع إلى السر في تخصيص YAML بالتنسيق التالي، والذي يستخدم git-clone المهمة كمثال:

$schema: "1.0"
tasks:
  - name: git-clone
    description: Clone this repository into C:\Workspaces
    parameters:
      repositoryUrl: https://myazdo.visualstudio.com/MyProject/_git/myrepo
      directory: C:\Workspaces
      pat: '{{KEY_VAULT_SECRET_URI}}'

استخدام أسرار المخزن الرئيسي في ملفات التخصيص الفردية

إذا كنت ترغب في استنساخ مستودع Azure Repos خاص من ملف تخصيص فردي، فلن تحتاج إلى تكوين سر في Azure Key Vault. بدلا من ذلك، يمكنك استخدام {{ado}} أو {{ado://your-ado-organization-name}} كمعلمة. تجلب هذه المعلمة رمز وصول مميز نيابة عنك عند إنشاء مربع تطوير. يحتوي الرمز المميز للوصول على إذن للقراءة فقط إلى المستودع الخاص بك.

git-clone تستخدم المهمة في كتالوج التشغيل السريع الرمز المميز للوصول لاستنساخ المستودع الخاص بك. إليك مثال:

tasks:
  - name: git-clone
    description: Clone this repository into C:\Workspaces
    parameters:
      repositoryUrl: https://myazdo.visualstudio.com/MyProject/_git/myrepo
      directory: C:\Workspaces
      pat: '{{ado://YOUR_ADO_ORG}}'

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

لقطة شاشة تعرض خيار السماح خدمات Microsoft الموثوقة بتجاوز جدار الحماية في إعدادات Azure Key Vault.

لمعرفة كيفية السماح خدمات Microsoft الموثوق بها بتجاوز جدار الحماية، راجع تكوين إعدادات شبكة Azure Key Vault.

تخصيص مربع التطوير الخاص بك باستخدام ملفات تكوين WinGet الموجودة

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

يظهر المثال التالي ملف تخصيص مربع تطوير يستدعي ملف WinGet Desired State Configuration (DSC) موجود:

tasks:
    - name: winget
      parameters:
          configure: "projectConfiguration.dsc.yaml"

لمعرفة المزيد، راجع تكوين WinGet.

مشاركة ملف تخصيص من مستودع التعليمات البرمجية

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