إنشاء تخصيصات مربع تطوير قابلة لإعادة الاستخدام

في هذه المقالة، ستتعرف على كيفية تخصيص مربعات التطوير باستخدام كتالوج مهام الإعداد وملف تكوين لتثبيت البرامج وتكوين الإعدادات والمزيد. يتم تطبيق هذه المهام على مربع التطوير الجديد في المرحلة النهائية من عملية الإنشاء. تخصيص Microsoft Dev Box هو نهج تكوين كتعليق برمجي لتخصيص مربعات التطوير. يمكنك إضافة إعدادات وبرامج أخرى دون الحاجة إلى إنشاء صورة جهاز ظاهري مخصص (VM).

باستخدام التخصيصات، يمكنك أتمتة خطوات الإعداد الشائعة وتوفير الوقت وتقليل فرصة حدوث أخطاء في التكوين. تتضمن بعض أمثلة مهام الإعداد ما يلي:

  • تثبيت البرامج مع مديري حزم WinGet أو Chocolatey.
  • تعيين إعدادات نظام التشغيل مثل تمكين ميزات Windows.
  • تكوين التطبيقات مثل تثبيت ملحقات Visual Studio.

يمكنك تنفيذ التخصيصات على مراحل، والبناء من تكوين بسيط ولكنه وظيفي إلى عملية تلقائية. المراحل هي كما يلي:

  1. إنشاء مربع تطوير مخصص باستخدام ملف تكوين مثال
  2. كتابة ملف تكوين
  3. مشاركة ملف تكوين من مستودع التعليمات البرمجية
  4. تعريف مهام جديدة في كتالوج
  5. استخدام البيانات السرية من Azure Key Vault

هام

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

سيناريوهات التخصيص الخاصة بالفريق

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

ما هي المهام؟

تنفذ المهمة إجراء معينا، مثل تثبيت البرامج. تتكون كل مهمة من برنامج نصي PowerShell واحد أو أكثر، جنبا إلى جنب مع ملف task.yaml الذي يوفر معلمات ويحدد كيفية تشغيل البرامج النصية. يمكنك أيضا تضمين أمر PowerShell في ملف task.yaml. يمكنك تخزين مجموعة من مهام الإعداد المنسقة في كتالوج مرفق بمركز التطوير الخاص بك، مع كل مهمة في مجلد منفصل. يدعم Dev Box استخدام مستودع GitHub أو مستودع Azure Repos ككتالوج، ويفحص مجلدا محددا من الكتالوج بشكل متكرر للعثور على تعريفات المهام.

توفر Microsoft كتالوج بدء سريع لمساعدتك على البدء في التخصيصات. يتضمن مجموعة افتراضية من المهام التي تحدد مهام الإعداد الشائعة:

  • تثبيت البرامج مع مديري حزم WinGet أو Chocolatey
  • استنساخ مستودع باستخدام git-clone
  • تكوين التطبيقات مثل تثبيت ملحقات Visual Studio
  • تشغيل البرامج النصية PowerShell

يوضح المثال التالي كتالوج مع تعريف مهام choco وgit-clone و install-vs-extension و PowerShell. يحتوي كل مجلد على ملف task.yaml وعلى برنامج PowerShell نصي واحد على الأقل. البرامج النصية لذاكرة التخزين المؤقت لملفات Task.yaml ومعلمات الإدخال اللازمة للإشارة إليها من ملفات التكوين.

لقطة شاشة تعرض كتالوج مع مهام choco وgit-clone و install-vs-extension و PowerShell المعرفة، مع tasks.yaml لكل مهمة.

ما هو ملف التكوين؟

تستخدم تخصيصات Dev Box ملفا بتنسيق yaml لتحديد قائمة بالمهام لتطبيقها من الكتالوج عند إنشاء مربع تطوير جديد. تتضمن ملفات التكوين هذه مهمة واحدة أو أكثر، والتي تحدد مهمة الكتالوج وتوفر معلمات مثل اسم البرنامج المراد تثبيته. ثم يتم توفير ملف التكوين للمطورين الذين ينشئون مربعات تطوير جديدة. يستخدم المثال التالي مهمة winget لتثبيت Visual Studio 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

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

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

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

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

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

إنشاء مربع تطوير مخصص باستخدام ملف تكوين مثال

استخدم كتالوج البدء السريع الافتراضي وملف تكوين مثال للبدء في التخصيصات.

إرفاق كتالوج البدء السريع

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

لإرفاق كتالوج البدء السريع بمركز التطوير:

  1. سجل الدخول إلى مدخل مطور Microsoft Dev Box.

  2. في القائمة اليمنى ضمن Environment configuration، حدد Catalogs، ثم حدد Add.

  3. في إضافة كتالوج، حدد مهام تخصيص مربع التطوير ككتالوج البدء السريع. ثم حدد Add.

  4. في مركز التطوير، حدد Catalogs، وتحقق من ظهور الكتالوج.

    لقطة شاشة لمدخل Azure تعرض جزء إضافة كتالوج مع تمييز كتالوج البدء السريع من Microsoft ومهام تخصيص مربع التطوير.

    إذا كان الاتصال ناجحا، يتم عرض الحالة كمزامنة ناجحة.

إنشاء مربع التطوير المخصص

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

  1. قم بتنزيل مثال لتكوين yaml من مستودع العينات. يقوم هذا التكوين المثال بتثبيت Visual Studio Code، واستنساخ مستودع تطبيق الويب OrchardCore .NET إلى مربع التطوير الخاص بك.

  2. سجل الدخول إلى مدخل مطور Microsoft Dev Box.

  3. حدد New>Dev Box.

  4. في مربع Add a dev، أدخل القيم التالية:

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

    لقطة شاشة تعرض خيارات تخصيص مربع التطوير في مدخل المطور مع تمييز ملفات التخصيص التي تم تحميلها.

  5. حدد إنشاء.

عند اكتمال عملية الإنشاء، يحتوي مربع التطوير الجديد على nodejs وVisual Studio Code مثبتين.

لمزيد من الأمثلة، راجع مستودع أمثلة مركز التطوير على GitHub.

كتابة ملف تكوين

يمكنك تحديد مهام جديدة لتطبيقها على مربعات التطوير الخاصة بك عن طريق إنشاء ملف التكوين الخاص بك. يمكنك اختبار ملف التكوين الخاص بك في Visual Studio Code وإجراء أي تغييرات مطلوبة دون الحاجة إلى إنشاء مربع تطوير منفصل لكل اختبار.

قبل أن تتمكن من إنشاء ملف التكوين الخاص بك واختباره، يجب أن يكون هناك كتالوج يحتوي على مهام مرفقة بمركز التطوير. يمكنك استخدام ملحق Visual Studio Code لاكتشاف المهام في الكتالوج المرفق.

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

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

  3. قم بتنزيل مثال ملف تكوين yaml من مستودع العينات وافتحه في Visual Studio Code.

  4. اكتشف المهام المتوفرة في الكتالوج باستخدام لوحة الأوامر. من View>Command Palette، حدد Dev Box: List available tasks for this dev box.

    لقطة شاشة ل Visual Studio Code تعرض لوحة الأوامر مع تمييز المهام المتوفرة في Dev Box List لمربع التطوير هذا.

  5. اختبار التكوين في Visual Studio Code باستخدام f5/command palette. من View>Command Palette، حدد Dev Box: Apply customizations tasks.

    لقطة شاشة ل Visual Studio Code تعرض لوحة الأوامر مع تمييز مهام Dev Box Apply customizations.

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

  7. عند تشغيل ملف التكوين بنجاح، شاركه مع المطورين لتحميله عند إنشاء مربع تطوير جديد.

إشعار

لا يشكل القدرة على إنشاء ملف وتحميله خطرا أمنيا؛ بل إن القدرة على إنشاء ملف وتحميله لا يشكل خطرا أمنيا. يمكن للملف الذي تم تحميله تطبيق الإعدادات المحددة في الكتالوج المرفق بمركز التطوير فقط. إذا لم يتم تعريف المهمة هناك، فسيتلقى المطور خطأ يفيد بأنه لم يتم تعريف المهمة.

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

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

  1. إنشاء ملف تكوين يسمى workload.yaml.

  2. أضف ملف التكوين إلى جذر مستودع Azure Repos الخاص مع التعليمات البرمجية الخاصة بك وقم بتثبيته.

  3. سجل الدخول إلى مدخل مطور Microsoft Dev Box.

  4. حدد New>Dev Box.

  5. في مربع Add a dev، أدخل القيم التالية:

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

    لقطة شاشة تعرض خيارات تخصيص مربع التطوير في مدخل المطور مع تمييز عنوان URL لاستنساخ المستودع.

  6. حدد إنشاء.

يحتوي مربع التطوير الجديد على المستودع المستنسخ، ويتم تطبيق جميع الإرشادات من ملف التكوين.

تعريف مهام جديدة في كتالوج

يتيح لك إنشاء مهام جديدة في كتالوج إنشاء تخصيصات مخصصة لفرق التطوير وإضافة حواجز حماية حول التكوينات الممكنة.

  1. إنشاء مستودع لتخزين مهامك.

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

  2. إنشاء مهام في المستودع الخاص بك عن طريق تعديل البرامج النصية PowerShell الموجودة، أو إنشاء برامج نصية جديدة.

    للبدء في إنشاء المهام، يمكنك استخدام الأمثلة الواردة في مستودع أمثلة مركز التطوير على وثائق GitHub وPowerShell.

  3. قم بإرفاق المستودع الخاص بك بمركز التطوير ككتالوج.

  4. قم بإنشاء ملف تكوين لتلك المهام باتباع الخطوات الواردة في كتابة ملف تكوين.

استخدام البيانات السرية من Azure Key Vault

يمكنك استخدام الأسرار من Azure Key Vault في تكوينات yaml الخاصة بك لاستنساخ المستودعات الخاصة، أو مع أي مهمة مخصصة تقوم بتأليفها تتطلب رمزا مميزا للوصول.

لتكوين أسرار Key Vault للاستخدام في تكوينات yaml الخاصة بك،

  1. تأكد من أن الهوية المدارة لمشروع مركز التطوير الخاص بك لها دور قارئ Key Vault ودور مستخدم Key Vault Secrets على مخزن المفاتيح الخاص بك.

  2. امنح دور Secrets User لسر 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 DevOps خاص (Azure Repos)، فلن تحتاج إلى تكوين سر في 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}}'

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

لقطة شاشة تعرض تكوين جدار حماية Azure مع السماح خدمات Microsoft الموثوقة بتجاوز جدار الحماية هذا المحدد.