إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توفر هذه المقالة المرجعية معلومات مفصلة حول الملفات imagedefinition.yaml و task.yaml المستخدمة لتخصيص Microsoft Dev Box. يمكن للمطورين استخدام ملفات YAML هذه لتحديد المهام لتوفير مربعات التطوير وتكوينها. تساعد الملفات على ضمان الاتساق والكفاءة عبر بيئات التطوير. تتناول هذه المقالة المخطط والسمات المطلوبة والأمثلة لكلا نوعي الملفات، إلى جانب المهام المضمنة مثل PowerShell وWinGet.
ملفات Imagedefinition.yaml
يمكنك استخدام ملف Dev Box YAML لتعريف مهام التخصيص التي يجب تشغيلها أثناء إنشاء Dev Box.
devbox.yaml قد يعيش الملف في نفس المستودع مثل المصدر الأساسي الذي يستخدمه فريق التطوير، أو قد يكون الملف في مستودع مركزي للتكوينات.
مثال على تعريف الصورة YAML:
$schema: 1.0
name: project-sample-1
image: MicrosoftWindowsDesktop_windows-ent-cpc_win11-21h2-ent-cpc-m365
tasks:
- name: "powershell"
inputs:
command:
الاسم
مطلوب: يرتبط هذا الاسم المألوف لتعريف الصورة بهذا devbox.yaml الملف. يتحكم هذا الإعداد في اسم تعريف الصورة المتوفر عند إنشاء التجمعات وتحديثها.
name: myVSDevBox
صورة
مطلوب: يمكن أن تكون الصورة التي تريد استخدامها كصورة أساسية لتعريف صورتك صورة سوق:
image: MicrosoftWindowsDesktop_windows-ent-cpc_win11-21h2-ent-cpc-m365
أو يمكن أن تكون صورة مخصصة من مثيل معرض حساب Azure المرفق:
image: galleryname/imagename@version
لمعرفة كيفية إرفاق مثيل Azure Compute Gallery بمركز التطوير الخاص بك، راجع تكوين Azure Compute Gallery ل Microsoft Dev Box.
للحصول على قائمة بالصور التي يمكن لمركز التطوير الوصول إليها، استخدم هذا az cli الأمر:
az devcenter admin image list --dev-center-name CustomizationsImagingHQ --resource-group TeamCustomizationsImagingRG --query "[].name"
تحتاج إلى ملحق مركز az cli التطوير:
az extension add --name devcenter
خصائص البناء
تتكون مجموعة الكائنات هذه من خصائص البناء التي يمكن استخدامها لتخصيص عملية الإنشاء للصورة.
اتصال الشبكة
اختياري: تحديد اتصال الشبكة لاستخدامه أثناء إنشاء الصورة. يسمح اتصال الشبكة هذا لمهام التخصيص بالوصول إلى الموارد، مثل حسابات التخزين أو المستودعات، التي يمكن الوصول إليها من الشبكة المحددة. يجب إرفاق اتصال الشبكة بمركز التطوير قبل أن يمكن استخدامه لإنشاء الصورة.
مثال:
buildProperties:
networkConnection: "my-westus3"
المهام
مطلوب: تتكون مجموعة الكائنات هذه من مهام تخصيص Dev Box لتشغيلها عند توفير مربع تطوير. تختلف المدخلات المحددة التي يتم توفيرها لمهمة حسب المهمة.
مثال:
tasks:
- name: winget
parameters:
package: GitHub.GitHubDesktop
تدعم كافة المهام الخاصية timeout ، وهي اختيارية.
مثال:
tasks:
- name: powershell
timeout: 1800 # in seconds
parameters:
command: <command>
المهام المضمنة
يتوفر PowerShell وWinGet كمهام مضمنة. يمكنك استدعاؤها مباشرة دون إرفاق كتالوج على مستوى مركز التطوير الذي يحدد تنفيذ هذه المهام.
مهمة WinGet المضمنة
تطبق هذه المهمة المضمنة تكوين WinGet على مربع التطوير.
البارامترات:
configurationFile:- نوع:
string - المسار إلى ملف تكوين WinGet YAML. يجب أن يكون الملف موجودا في الجهاز المحلي.
- مطلوب:
false
- نوع:
downloadUrl:- نوع:
string - عنوان URL يمكن الوصول إليه بشكل عام حيث يتم تخزين ملف تكوين YAML. يتم تنزيل الملف إلى المسار الذي
configurationFileيحدده. - مطلوب:
false
- نوع:
inlineConfigurationBase64:- نوع:
string - سلسلة ترميز Base64 لملف تكوين WinGet YAML. يتم فك ترميز الملف إلى المسار الذي
configurationFileيحدد أو إلى ملف مؤقت إذا لم يتم تحديده. - مطلوب:
false
- نوع:
package:- نوع:
string - اسم الحزمة المراد تثبيتها.
- إذا تم توفير ملف تكوين YAML ضمن معلمات أخرى، فلن تكون هناك حاجة إلى اسم الحزمة.
- مطلوب:
false
- نوع:
version- نوع:
string - إصدار الحزمة المراد تثبيتها.
- إذا تم توفير ملف تكوين YAML ضمن معلمات أخرى، فلا حاجة لإصدار الحزمة.
- مطلوب:
false
- نوع:
مهمة PowerShell المضمنة
تقوم هذه المهمة المضمنة بتشغيل أمر PowerShell.
البارامترات:
-
command:- نوع:
string - الأمر الذي يجب تشغيله.
- مطلوب:
true
- نوع:
ملفات task.yaml
مهام التخصيص هي وحدات قابلة لإعادة الاستخدام من التعليمات البرمجية للتثبيت أو تكوين البيئة. يستخدم المطورون برامج PowerShell النصية لكتابتها واستخدام task.yaml ملف بيانات تعريف لوصفها. يستخدم المطورون هذه المهام لتخصيص مربع تطوير عن طريق الرجوع إليها من devbox.yaml ملف.
عند تحديد مهام التخصيص، يمكنك تحديد المهام المتوفرة للمطورين لاستخدامها في devbox.yaml الملفات. يمكنك تقييد الإجراءات ذات الامتيازات العالية، مثل القدرة على تشغيل أي أمر PowerShell.
يقوم المثال التالي لتعريف مهمة بتشغيل أمر PowerShell في دليل عمل معين:
name: powershell
description: Execute a powershell command
author: Microsoft Corporation
command: ".\runcommand.ps1 -command {{command}} -workingDirectory {{workingDirectory}}"
inputs:
command:
type: string
defaultValue: ""
required: true
description: The command to execute
workingDirectory:
type: string
defaultValue: ""
required: false
description: The working directory to execute the command in
السمات
الاسم
مطلوب: يستخدم هذا المعرف الفريد للإشارة إلى مهمة من devbox.yaml. يجب أن يكون الاسم فريدا في سياق الكتالوج حيث توجد المهمة.
يجب أن تتطابق التسمية مع قيود موارد Azure الموجودة. يجب أن يتراوح الاسم بين 3 و63 حرفا. يجب أن يبدأ بحرف أبجدي رقمي. يجب أن يتكون الاسم من أحرف أبجدية رقمية فقط و"-" أو "." أو "_". الحرف "/" محجوز.
name: powershell
وصف
اختياري: تصف هذه السمة المهمة.
description: This task executes a powershell command
إدخال
مطلوب: تسرد هذه السمة المعلمات التي تأخذها هذه المهمة كمدخل من devbox.yaml ملف وتستخدمها أثناء تشغيل الأمر. يمثل كل عنصر أصل اسم معلمة ويدعم هذه المفاتيح:
-
type(مطلوب): نوع بيانات الإدخال لهذه المعلمة. يمكن أن يكونstring، أوint. -
defaultValue(مطلوب): القيمة الافتراضية التي تأخذها هذه المعلمة. -
required(مطلوب): المفتاح الذي يحدد ما إذا كانت هذه المعلمة اختيارية أو مطلوبة. -
description(مطلوب): وصف لما تمثله هذه المعلمة.
inputs:
command:
type: string
defaultValue: ""
required: true
description: The command to execute
الأمر
مطلوب: يتم استخدام هذا الأمر لتنفيذ هذه المهمة. يتم تشغيل سلسلة الأوامر المتوفرة في Windows PowerShell على الجهاز المحلي.
command: ".\runcommand.ps1
المتغيرات المرجعية في الأوامر
للإشارة إلى المعلمات في أمر، حدد اسم المتغير في أقواس مزدوجة، على سبيل المثال، {{parameter_name}}. يتم استنتاج قيم هذه المتغيرات قبل تشغيل الأمر الخاص بك.
command: ".\runcommand.ps1 -command {{command}} -workingDirectory {{workingDirectory}}"
المهلة
اختياري: يحدد هذا المتغير الحد الأقصى لمقدار الوقت (بالدقائق) للانتظار حتى يكتمل تنفيذ المهمة قبل انتهاء مهلة المهمة. الإعداد الافتراضي هو 30 دقيقة.
timeout: 30
كاتب
اختياري: يحدد هذا المتغير كاتب المهمة للمساعدة في عمليات التدقيق واستكشاف الأخطاء وإصلاحها.
author: Contoso Corporation
عنوان URL للتوثيق
اختياري: يرتبط هذا المتغير بوثائق هذه المهمة.
documentationURL: "https://link.to/documentation"
عنوان URL للترخيص
اختياري: يرتبط هذا المتغير بترخيص هذه المهمة.
licenseURL: "https://link.to/license"