Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pomocí prostředí Azure DevTest Labs můžete snadno a konzistentně zřizovat testovací prostředí s několika virtuálními počítači a prostředky paaS (platforma jako služba). Tento článek popisuje, jak vytvářet prostředí DevTest Labs ze šablon Azure Resource Manageru (ARM ). Tento přístup můžete použít k vytvoření testovacího prostředí pro vícevrstvé webové aplikace nebo sharepointové farmy.
Prostředky v prostředí DevTest Labs sdílejí stejný životní cyklus. Můžete je spravovat společně a sledovat náklady na jednotlivé prostředky PaaS v testovacím prostředí stejně jako sledovat náklady na jednotlivé virtuální počítače.
Testovací prostředí můžete nakonfigurovat tak, aby používalo šablony prostředí ARM z veřejných nebo privátních úložišť šablon Gitu. Následující diagram ukazuje, jak DevTest Labs používá šablonu ARM z veřejného nebo privátního úložiště k nasazení prostředí obsahujícího virtuální počítače a další prostředky.
Poznámka:
Pokud potřebujete spravovat prostředky, zásady a nastavení zabezpečení PaaS na podnikové úrovni nebo integraci CI/CD mezi fázemi nasazení a aplikacemi, zvažte použití prostředí azure Deployment Environment (ADE) k vytváření prostředí. ADE umožňuje vývojářům rychle nasazovat infrastrukturu aplikací pomocí projektových šablon a zajistit konzistentní a zabezpečená prostředí pro vaše vývojové týmy. Další informace najdete v dokumentaci k prostředím nasazení Azure.
Požadavky
- Pokud chcete přidat nebo nakonfigurovat úložiště šablon pro testovací prostředí, alespoň oprávnění přispěvatele v testovacím prostředí.
- Pokud chcete vytvořit prostředí Azure DevTest z dostupných šablon ARM, alespoň oprávnění uživatele DevTestu v testovacím prostředí.
- Pokud chcete spustit skript PowerShellu při vytváření prostředí Automate, Azure PowerShell s nainstalovaným modulem
Az.Resources.
Omezení
Prostředí vytvořená ze šablon prostředí ARM v DevTest Labs mají následující omezení:
Funkce autoshutdownu pro virtuální počítače není podporovaná.
Následující zásady testovacího prostředí se nevynucují ani nevyhodnocují:
- Počet virtuálních počítačů na uživatele testovacího prostředí
- Počet prémiových virtuálních počítačů na uživatele
- Počet disků Premium na uživatele
I když například zásady testovacího prostředí umožňují každému uživateli vytvořit maximálně pět virtuálních počítačů, může uživatel nasadit šablonu prostředí ARM, která vytvoří desítky virtuálních počítačů.
Konfigurace úložišť šablon pro testovací prostředí
Testovací prostředí můžete nakonfigurovat tak, aby používalo šablony prostředí ARM z veřejného úložiště šablon ARM DevTest Labs a z jiných veřejných nebo privátních úložišť Git. Když povolíte přístup k úložišti šablon, uživatelé testovacího prostředí můžou rychle vytvářet prostředí výběrem šablon na webu Azure Portal, podobně jako při vytváření virtuálních počítačů.
Veřejné úložiště šablon ARM devTest Labs obsahuje předem připravené šablony prostředí pro Azure Web Apps, cluster Azure Service Fabric a vývojové farmy SharePointu. Šablony mají minimální vstupní parametry, které vám pomůžou zajistit hladký začátek práce s prostředky PaaS.
Šablony veřejného prostředí můžete použít tak, jak jsou, nebo je přizpůsobit podle svých potřeb. Můžete také navrhnout revize nebo dodatky k veřejné šabloně odesláním žádosti o přijetí změn do veřejného úložiště šablon GitHubu.
Šablony prostředí můžete také uložit do jiných veřejných nebo privátních úložišť Git a přidat tato úložiště do testovacího prostředí, aby byly šablony dostupné všem uživatelům testovacího prostředí. Pokyny najdete v tématu Ukládání šablon ARM v úložištích Git a přidání úložišť šablon do testovacích prostředí.
Konfigurace nastavení veřejného prostředí
Pro nové nebo existující testovací prostředí můžete povolit přístup k veřejnému úložišti šablon DevTest Labs. Když povolíte přístup k úložišti, můžete vybrat, které šablony prostředí chcete zpřístupnit uživatelům testovacího prostředí.
Konfigurace přístupu k veřejnému prostředí pro nové testovací prostředí
Pokud chcete nakonfigurovat přístup k úložišti veřejného prostředí při vytváření nového testovacího prostředí, na kartě Základní nastavení nastavte možnost Veřejná prostředí na Zapnuto nebo Vypnuto. Tato možnost je ve výchozím nastavení zapnutá .
Konfigurace přístupu k veřejnému prostředí pro existující testovací prostředí
Povolení nebo zakázání přístupu k úložišti veřejného prostředí pro existující testovací prostředí:
Na stránce Přehled portálu Azure pro vaši laboratoř vyberte v části Nastavení v levé navigační nabídce Konfigurace a zásady.
Na stránce Konfigurace a zásady rozbalte základy virtuálních počítačů v nabídce vlevo a vyberte Veřejná prostředí.
Na stránce Veřejná prostředí nastavte možnost Povolit veřejná prostředí pro toto cvičení na Ano nebo Ne.
Zvolte Uložit.
Výběr dostupných veřejných šablon prostředí
Když pro testovací prostředí povolíte úložiště veřejného prostředí, budou ve výchozím nastavení všechny šablony prostředí v úložišti dostupné uživatelům testovacího prostředí. Můžete se rozhodnout zakázat přístup k vybraným šablonům. Zakázané šablony se už nezobrazují v seznamu prostředí, která můžou uživatelé vytvářet.
Zakázání přístupu ke konkrétním šablonům prostředí:
Na stránce portálu Azure Konfigurace a zásady>základy virtuálních počítačů>Veřejná prostředí, zrušte zaškrtnutí políček vedle prostředí, která chcete zakázat.
Zvolte Uložit.
Konfigurace uživatelských oprávnění prostředí
Ve výchozím nastavení je uživatelům testovacího prostředí přiřazena role Čtenář v prostředích, která vytvoří. Čtenáři nemůžou zastavit, spustit nebo upravit prostředky prostředí, jako jsou sql servery nebo databáze. Pokud chcete uživatelům testovacího prostředí umožnit upravovat prostředky ve svých prostředích, můžete jim udělit roli Přispěvatel ve skupině prostředků pro své prostředí.
Na stránce Azure PortalPřehled pro vaši laboratoř vyberte v levé navigační nabídce v části Nastavení možnost Konfigurace a zásady.
Na stránce Konfigurace a zásady rozbalte Nastavení v nabídce vlevo a vyberte Nastavení testovacího prostředí.
Na stránce Nastavení testovacího prostředí v části Přístup k prostředí nastavte možnost Uživatelská práva skupiny prostředků na Přispěvatel.
Zvolte Uložit.
Vytváření prostředí ze šablon
Pokud je vaše testovací prostředí nakonfigurované tak, aby používalo úložiště veřejných nebo privátních šablon, můžete prostředí vytvořit výběrem dostupné šablony ARM, podobně jako při vytváření virtuálního počítače. Podle těchto kroků vytvořte prostředí ze šablony.
Na stránce Přehled webu Azure Portal pro vaše testovací prostředí vyberte Moje prostředív levé navigační nabídce.
Na stránce Moje prostředí vyberte Přidat.
Na stránce Zvolit základní stránku vyberte prostředí, které chcete vytvořit.
V podokně Přidat zadejte název prostředí a nakonfigurujte další nastavení parametrů.
- Každá šablona prostředí ARM obsahuje jedinečné parametry. Když přidáte prostředí, musíte zadat hodnoty pro všechny požadované parametry označené červeným hvězdičkou.
- Některé hodnoty parametrů v souboru azuredeploy.parameters.json v šabloně ARM vytváří prázdná pole nastavení bez výchozí hodnoty v podokně Přidat. Mezi tyto hodnoty patří
GEN-UNIQUE,GEN-UNIQUE-[N],GEN-SSH-PUB-KEYaGEN-PASSWORD. - Tajné kódy ze služby Azure Key Vault můžete použít pro zabezpečené parametry řetězců , jako jsou hesla. Další informace najdete v tématu Ukládání tajných kódů ve službě Azure Key Vault.
Vyberte Přidat. Prostředí se začne zřizovat okamžitě.
Proces zřízení prostředí může trvat dlouho. Celková doba závisí na počtu instancí služeb, virtuálních počítačích a dalších prostředcích, které DevTest Labs vytváří jako součást testovacího prostředí.
Stav zřizování můžete monitorovat na stránce Moje prostředí . Výběrem možnosti Aktualizovat na panelu nástrojů aktualizujte zobrazení stránky a zkontrolujte aktuální stav. Během zřizování se stav prostředí vytváří. Po dokončení zřizování se stav změní na Připraveno.
Až bude prostředí připravené, můžete prostředí rozbalit v seznamu Moje prostředí a zobrazit virtuální počítače, které šablona zřídila.
Nasazení vytvoří novou skupinu prostředků, která zřídí všechny prostředky prostředí definované šablonou ARM. Výběrem prostředí v seznamu Moje prostředí zobrazíte skupinu prostředků a všechny prostředky vytvořené šablonou.
Výběrem virtuálního počítače v seznamu zobrazíte vlastnosti virtuálního počítače a dostupné akce, jako je správa konfigurace, plánů a zásad.
Automatizace vytváření prostředí
Pokud potřebujete vytvořit více prostředí pro scénáře vývoje nebo testování, můžete pomocí Azure PowerShellu nebo Azure CLI automatizovat nasazení prostředí ze šablon ARM. Následující kroky ukazují, jak automatizovat nasazení šablony prostředí ARM pomocí příkazu Azure PowerShellu New-AzResource .
Nasazení můžete také automatizovat pomocí příkazu az deployment group create v Azure CLI. Další informace najdete v tématu Nasazení prostředků pomocí šablon ARM a Azure CLI.
Uložte šablonu prostředí ARM do úložiště Git a přidejte úložiště do testovacího prostředí.
Uložte následující skript PowerShellu do počítače jako deployenv.ps1. Tento skript volá šablonu ARM pro vytvoření prostředí v testovacím prostředí.
#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."Pokud chcete skript použít, spusťte následující příkaz. Aktualizujte zástupné symboly v příkazu vlastními hodnotami testovacího prostředí.
.\DeployLabEnvironment.ps1 ` -SubscriptionId "<Subscription ID>" ` -LabName "<LabName>" ` -ResourceGroupName "<LabResourceGroupName>" ` -RepositoryName "<TemplateRepoName>" ` -TemplateName "<TemplateFolderName>" ` -EnvironmentName "<EnvironmentName>"