إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يمكنك استخدام بيئات Azure DevTest Labs لتوفير مختبرات بسهولة ومتسقة بعدة آلات افتراضية (VMs) وموارد منصة كخدمة (PaaS). تصف هذه المقالة كيفية إنشاء بيئات مختبرات DevTest من قوالب Azure Resource Manager (ARM). قد تستخدم هذا النهج لإنشاء مختبر لتطبيق ويب متعدد الطبقات أو مزرعة SharePoint.
الموارد في بيئة مختبرات DevTest تشترك في نفس دورة الحياة. يمكنك إدارتها معا، وتتبع تكلفة موارد PaaS الفردية في بيئة المختبر تماما كما تتابع تكاليف الأجهزة الافتراضية الفردية.
يمكنك إعداد مختبر لاستخدام قوالب بيئة ARM من مستودعات قوالب Git العامة أو الخاصة. يوضح المخطط التالي كيف يستخدم DevTest Labs قالب ARM من مستودع عام أو خاص لنشر بيئة تحتوي على أجهزة افتراضية وموارد أخرى.
إشعار
إذا كنت بحاجة لإدارة موارد PaaS على مستوى المؤسسة، والسياسات، وإعدادات الأمان، أو تكامل CI/CD عبر مراحل النشر والتطبيقات، فكر في استخدام بيئات نشر Azure (ADE) لإنشاء بيئات. تتيح ADE للمطورين نشر بنية التطبيقات التحتية بسرعة باستخدام قوالب قائمة على المشاريع، مما يضمن بيئات متسقة وآمنة لفرق التطوير لديك. لمزيد من المعلومات، راجع وثائق Azure Deployment Environments.
المتطلبات الأساسية
- لإضافة أو تكوين مستودعات القوالب للمختبر، على الأقل أذونات المساهمين في المختبر.
- لإنشاء بيئات Azure DevTest من قوالب ARM المتاحة، على الأقل أذونات المستخدم في DevTest في المختبر.
- لتشغيل سكريبت PowerShell في إنشاء بيئة أتمتة، استخدم Azure PowerShell مع تثبيت الوحدة
Az.Resources.
القيود
البيئات التي تم إنشاؤها من قوالب بيئة ARM في مختبرات DevTest لها القيود التالية:
ميزة الإيقاف التلقائي للأجهزة الافتراضية غير مدعومة.
السياسات التالية للمختبر لا تطبق أو تقيم:
- عدد الأجهزة الظاهرية لكل مستخدم مختبر
- عدد الأجهزة الظاهرية المتميزة لكل مستخدم
- عدد الأقراص المميزة لكل مستخدم
على سبيل المثال، حتى لو سمحت سياسة المختبر لكل مستخدم فقط بإنشاء ما يصل إلى خمس أجهزة افتراضية كحد أقصى، يمكن للمستخدم نشر قالب بيئة ARM ينشئ عشرات الآلات الافتراضية.
تكوين مستودعات القوالب للمختبرات
يمكنك إعداد مختبرك لاستخدام قوالب بيئة ARM من مستودع قوالب ARM العام في DevTest Labs ومن مستودعات Git العامة أو الخاصة الأخرى. عند تمكين الوصول إلى مستودع القوالب من المختبر، يمكن لمستخدمي المختبر إنشاء بيئات بسرعة عن طريق اختيار القوالب في بوابة Azure، مشابها لإنشاء الأجهزة الافتراضية.
يشمل مستودع قوالب ARM العام في مختبرات DevTest قوالب بيئة معدة مسبقا لتطبيقات الويب Azure، ومجموعة Azure Service Fabric، ومزارع SharePoint للتطوير. للحصول على تجربة بداية سلسة مع موارد PaaS، تحتوي القوالب على معايير إدخال قليلة.
يمكنك استخدام قوالب البيئة العامة كما هي أو تخصيصها لتناسب احتياجاتك. يمكنك أيضا اقتراح مراجعات أو إضافات إلى قالب عام عن طريق إرسال طلب سحب مقابل مستودع القالب العام GitHub.
يمكنك أيضا تخزين قوالب البيئة في مستودعات Git العامة أو الخاصة الأخرى، وإضافة تلك المستودعات إلى مختبرك لجعل القوالب متاحة لجميع مستخدمي المختبر. للحصول على التعليمات، راجع قوالب Store ARM في مستودعات Gitوإضافة مستودعات قوالب إلى المختبرات.
تكوين إعدادات البيئة العامة
يمكنك تمكين الوصول إلى مستودع قوالب DevTest Labs العام للمختبر الجديد أو الموجود. عند تمكين الوصول إلى المستودع، يمكنك اختيار قوالب البيئة التي توفرها لمستخدمي المختبر.
تكوين الوصول إلى البيئة العامة لمختبر جديد
لتكوين الوصول إلى مستودع البيئة العامة عند إنشاء مختبر جديد، في تبويب الإعدادات الأساسية ، قم بتعيين خيار البيئات العامةعلى تفعيل أو إيقاف. هذا الخيار مضبوط على التشغيل بشكل افتراضي.
تكوين الوصول إلى البيئة العامة لمختبر قائم
لتمكين أو تعطيل الوصول إلى مستودعات البيئة العامة لمختبر موجود:
في صفحة نظرة عامةعلى بوابة Azure الخاصة بمختبرك، اختر التكوين والسياسات تحت الإعدادات في قائمة التنقل اليسرى.
في صفحة التكوين والسياسات ، قم بتوسيع قواعد الآلات الافتراضية في القائمة اليسرى واختر البيئات العامة.
في صفحة البيئات العامة ، قم بتعيين خيار تمكين البيئات العامة لهذا المختبر على نعم أو لا.
حدد حفظ.
تحديد قوالب البيئة العامة المتوفرة
عندما تفعيل مستودع البيئة العامة للمختبر، تكون جميع قوالب البيئة في المستودع متاحة لمستخدمي مختبرك بشكل افتراضي. يمكنك اختيار تعطيل الوصول إلى القوالب المختارة. لم تعد القوالب المعطلة تظهر في قائمة البيئات التي يمكن للمستخدمين إنشاؤها.
لمنع الوصول إلى قوالب بيئية محددة:
في صفحةإعداداتوسياسات>التكوين> والسياسات في المختبر الخاص ببوابة Azure الخاصة بك، قم بإلغاء تحديد مربعات الاختيار بجانب البيئات التي تريد تعطيلها.
حدد حفظ.
تكوين أمناصات المستخدم في البيئة
افتراضيا، يتم تعيين مستخدمي المختبر لدور القارئ في البيئات التي ينشئونها. لا يمكن للقراء إيقاف أو تشغيل أو تعديل موارد البيئة مثل خوادم SQL أو قواعد البيانات. للسماح لمستخدمي المختبر بتحرير الموارد في بيئاتهم، يمكنك منحهم دور المساهم في مجموعة الموارد الخاصة ببيئتهم.
في صفحة نظرة عامةعلى بوابة Azure الخاصة بمختبرك، اختر التكوين والسياسات تحت الإعدادات في قائمة التنقل اليسرى.
في صفحة الإعدادات والسياسات ، قم بتوسيع الإعدادات في القائمة اليسرى واختر إعدادات المختبر.
في صفحة إعدادات المختبر تحت الوصول إلى البيئة، قم بتعيين خيار حقوق مستخدم مجموعة الموارد إلى مساهم.
حدد حفظ.
إنشاء بيئات من القوالب
إذا كان مختبرك مهيئا لاستخدام مستودعات قوالب عامة أو خاصة، يمكنك إنشاء بيئة باختيار قالب ARM متاح، مشابه لإنشاء آلة افتراضية (VM). اتبع هذه الخطوات لإنشاء بيئة من قالب.
في صفحة نظرة عامةعلى بوابة Azure الخاصة بمختبرك، اختر بيئاتي تحت مختبري في قائمة التنقل اليسرى.
في صفحة بيئاتي ، اختر إضافة.
في صفحة اختيار الأساس ، اختر البيئة التي يجب إنشاؤها.
في لوحة الإضافة ، أدخل اسم البيئة وقم بتكوين إعدادات المعلمات الأخرى.
- يحتوي كل قالب بيئة ARM على معلمات فريدة. عند إضافة بيئة، يجب إدخال قيم لجميع المعلمات المطلوبة، مع الإشارة إلى نجم أحمر.
- بعض قيم المعلمات في ملف قالب ARMazuredeploy.parameters.json تنتج حقول إعدادات فارغة بدون قيمة افتراضية في لوحة الإضافة . تشمل
GEN-UNIQUEهذه القيم ،GEN-UNIQUE-[N]،GEN-SSH-PUB-KEY، وGEN-PASSWORD. - يمكنك استخدام الأسرار من Azure Key Vault لمعاملات سلاسل آمنة مثل كلمات المرور. لمزيد من المعلومات، راجع أسرار المتجر في Azure Key Vault.
حدد إضافة. تبدأ البيئة في التوفير على الفور.
قد تستغرق عملية توفير بيئة وقتا طويلا. يعتمد إجمالي الوقت على عدد مثيلات الخدمة والأجهزة الظاهرية والموارد الأخرى التي ينشئها DevTest Labs كجزء من بيئة المختبر.
يمكنك مراقبة حالة التوفير في صفحة بيئاتي . اختر تحديث في شريط الأدوات لتحديث عرض الصفحة والتحقق من الحالة الحالية. أثناء توفير الخدمة قيد التقدم، تكون حالة البيئة هي إنشاء. بعد اكتمال التوفير، تتغير الحالة إلى Ready.
عندما تكون البيئة جاهزة، يمكنك توسيع البيئة في قائمة بيئاتي لرؤية الآلات الافتراضية التي قام القالب بتجهيزها.
ينشئ النشر مجموعة موارد جديدة لتوفير جميع موارد البيئة التي عرفها قالب ARM. اختر البيئة في قائمة بيئاتي لعرض مجموعة الموارد وجميع الموارد التي أنشأها القالب.
اختر آلة افتراضية (VM) في القائمة لرؤية خصائص الجهاز الافتراضي والإجراءات المتاحة، مثل إدارة الإعدادات والجداول والسياسات.
أتمتة إنشاء البيئة
إذا كنت بحاجة لإنشاء عدة بيئات للتطوير أو اختبار السيناريوهات، يمكنك استخدام Azure PowerShell أو Azure CLI لأتمتة نشر البيئة من قوالب ARM. توضح الخطوات التالية كيفية أتمتة نشر قوالب بيئة ARM باستخدام أمر Azure PowerShell New-AzResource .
يمكنك أيضا أتمتة النشر باستخدام أمر إنشاء مجموعة النشر Azure CLI az. لمزيد من المعلومات، راجع نشر الموارد باستخدام قوالب ARM وAzure CLI.
قم بتخزين قالب بيئة ARM في مستودع Gitوأضف هذا المستودع إلى مختبرك.
احفظ السكريبت التالي من PowerShell على جهازك كdeployenv.ps1. يستدعي هذا البرنامج النصي قالب ARM لإنشاء البيئة في المختبر.
#Requires -Module Az.Resources [CmdletBinding()] param ( # ID of the Azure subscription for the lab [string] [Parameter(Mandatory=$true)] $SubscriptionId, # Name of the lab in which to create the environment [string] [Parameter(Mandatory=$true)] $LabName, # Name of the template repository connected to the lab [string] [Parameter(Mandatory=$true)] $RepositoryName, # Name of the template (folder name in the GitHub repository) [string] [Parameter(Mandatory=$true)] $TemplateName, # Name of the environment to create in the lab [string] [Parameter(Mandatory=$true)] $EnvironmentName, # The parameters to pass to the template. Each parameter is prefixed with "-param_". # For example, if the template has a parameter named "TestVMName" with a value of "MyVMName", # the string in $Params is "-param_TestVMName MyVMName". # This convention allows the script to dynamically handle different templates. [Parameter(ValueFromRemainingArguments=$true)] $Params ) # Sign in to Azure, or comment out this statement to completely automate environment creation. Connect-AzAccount # Select the subscription for your lab. Set-AzContext -SubscriptionId $SubscriptionId | Out-Null # Get the user ID to use later in the script. $UserId = $((Get-AzADUser -UserPrincipalName ((Get-AzContext).Account).Id).Id) # Get the lab location. $lab = Get-AzResource -ResourceType "Microsoft.DevTestLab/labs" -Name $LabName if ($lab -eq $null) { throw "Unable to find lab $LabName in subscription $SubscriptionId." } # Get information about the repository connected to your lab. $repository = Get-AzResource -ResourceGroupName $lab.ResourceGroupName ` -ResourceType 'Microsoft.DevTestLab/labs/artifactsources' ` -ResourceName $LabName ` -ApiVersion 2016-05-15 ` | Where-Object { $RepositoryName -in ($_.Name, $_.Properties.displayName) } ` | Select-Object -First 1 if ($repository -eq $null) { throw "Unable to find repository $RepositoryName in lab $LabName." } # Get information about the ARM template base for the environment. $template = Get-AzResource -ResourceGroupName $lab.ResourceGroupName ` -ResourceType "Microsoft.DevTestLab/labs/artifactSources/armTemplates" ` -ResourceName "$LabName/$($repository.Name)" ` -ApiVersion 2016-05-15 ` | Where-Object { $TemplateName -in ($_.Name, $_.Properties.displayName) } ` | Select-Object -First 1 if ($template -eq $null) { throw "Unable to find template $TemplateName in lab $LabName." } # Build the template parameters by using parameter names and values. $parameters = Get-Member -InputObject $template.Properties.contents.parameters -MemberType NoteProperty | Select-Object -ExpandProperty Name $templateParameters = @() # Extract the custom parameters from $Params and format them as name/value pairs. $Params | ForEach-Object { if ($_ -match '^-param_(.*)' -and $Matches[1] -in $parameters) { $name = $Matches[1] } elseif ( $name ) { $templateParameters += @{ "name" = "$name"; "value" = "$_" } $name = $null #reset name variable } } # Create an object to hold the necessary template properties. $templateProperties = @{ "deploymentProperties" = @{ "armTemplateId" = "$($template.ResourceId)"; "parameters" = $templateParameters }; } # Deploy the environment in your lab by using the New-AzResource command. New-AzResource -Location $Lab.Location ` -ResourceGroupName $lab.ResourceGroupName ` -Properties $templateProperties ` -ResourceType 'Microsoft.DevTestLab/labs/users/environments' ` -ResourceName "$LabName/$UserId/$EnvironmentName" ` -ApiVersion '2016-05-15' -Force Write-Output "Environment $EnvironmentName completed."لاستخدام السكريبت، قم بتشغيل الأمر التالي. قم بتحديث النقاط المؤقتة في الأمر بقيم مختبرك الخاصة.
.\DeployLabEnvironment.ps1 ` -SubscriptionId "<Subscription ID>" ` -LabName "<LabName>" ` -ResourceGroupName "<LabResourceGroupName>" ` -RepositoryName "<TemplateRepoName>" ` -TemplateName "<TemplateFolderName>" ` -EnvironmentName "<EnvironmentName>"