Sdílet prostřednictvím


Vytváření prostředí Azure DevTest Labs ze šablon ARM

V tomto článku se dozvíte, jak vytvářet prostředí Azure DevTest Labs ze šablon Azure Resource Manageru (ARM ). Pomocí prostředí DevTest Labs můžete snadno a konzistentně zřizovat testovací prostředí s několika virtuálními počítači nebo prostředky paaS (platforma jako služba). Pokud chcete například vytvořit testovací prostředí pro vícevrstvou webovou aplikaci nebo farmu SharePointu.

Prostředky v prostředí sdílejí stejný životní cyklus a můžete je spravovat společně. Náklady na testovací prostředí a prostředky PaaS můžete sledovat stejně jako náklady na jednotlivé virtuální počítače testovacího prostředí.

Azure DevTest Labs můžete nakonfigurovat tak, aby používala šablony ARM z veřejného nebo privátního úložiště Git. Přečtěte si další informace o úložištích šablon pro testovací prostředí.

Diagram znázorňující, jak vytvořit prostředí s Azure DevTest Labs ze šablony ARM ve veřejném nebo vlastním úložišti šablon

Pokud chcete k vytvoření prostředku Azure DevTest Labs použít šablonu ARM, projděte si rychlý start: Vytvoření testovacího prostředí v DevTest Labs pomocí šablony ARM.

Omezení

Při vytváření testovacích prostředí ze šablon ARM v DevTest Labs zvažte tato omezení:

  • Automatické vypnutí virtuálního počítače se nevztahuje na prostředky PaaS.

  • Při nasazování šablon ARM se nevyhodnocují všechny zásady testovacího prostředí. Mezi nevyhodnocené zásady patří: 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 a počet prémiových stolních počítačů na uživatele. Zásady testovacího prostředí můžou například omezit uživatele jenom na pět virtuálních počítačů. Uživatel ale může nasadit šablonu prostředí ARM, která vytvoří desítky virtuálních počítačů.

Vytváření prostředí ze šablon

Prostředí můžete vytvořit z veřejného úložiště šablon Azure DevTest Labs nebo můžete do testovacího prostředí přidat privátní úložiště šablon.

Zjistěte, jak nakonfigurovat prostředí pro vaše testovací prostředí. Můžete například nakonfigurovat úložiště šablon, povolit nebo zakázat veřejná prostředí a vybrat konkrétní šablony pro vytváření testovacích prostředí.

Vytvoření prostředí ze šablony:

  1. Na webu Azure Portal vyberte prostředek testovacího prostředí.

  2. Na stránce Přehled testovacího prostředí vyberte Přidat z horního panelu nástrojů.

  3. Na stránce Zvolit základní stránku vyberte šablonu prostředí ARM, která se má použít. Dostupné šablony prostředí se zobrazí jako první v seznamu základů.

    Snímek obrazovky znázorňující šablony veřejného prostředí

  4. Na obrazovce Přidat zadejte název prostředí a vyplňte další vstupní pole.

    Číslo a typ vstupních polí je definován v šabloně ARM. Podle potřeby zadejte hodnoty pro vstupní pole, která šablona azuredeploy.parameters.json soubor definuje jako prázdné nebo výchozí.

    • Pro secure string parametry můžete použít tajné kódy ze služby Azure Key Vault. Informace o ukládání tajných kódů do trezoru klíčů a jejich použití při vytváření prostředků testovacího prostředí najdete v tématu Ukládání tajných kódů ve službě Azure Key Vault.

    • V souborech GEN-UNIQUEšablon ARM vygenerují hodnoty , GEN-UNIQUE-[N]GEN-SSH-PUB-KEYa GEN-PASSWORD parametru prázdná vstupní pole pro uživatele, kteří zadávají hodnoty.

    Snímek obrazovky znázorňující podokno Přidat pro prostředí SharePointu

  5. Vyberte Přidat a vytvořte prostředí.

    Prostředí se začne zřizovat okamžitě. Stav zřizování můžete zobrazit v části Moje prostředí na stránce Přehled testovacího prostředí. Zřizování prostředí může trvat dlouho.

  6. Po dokončení vytváření prostředí rozbalte prostředí v části Moje prostředí a zobrazte seznam virtuálních počítačů a dalších prostředků, které šablona zřídila.

    Snímek obrazovky znázorňující seznam virtuálních počítačů v prostředí

    Nasazení vytvoří novou skupinu prostředků pro zřízení všech prostředků prostředí, které definovala šablona ARM. Výběrem názvu prostředí v části Moje prostředí zobrazte skupinu prostředků a všechny prostředky, které šablona vytvořila.

    Snímek obrazovky znázorňující skupinu prostředků se všemi prostředky prostředí

  7. Výběrem virtuálního počítače prostředí zobrazíte dostupné akce pro virtuální počítač, jako je správa konfigurace, plánů a zásad.

    Snímek obrazovky znázorňující dostupné akce pro virtuální počítač prostředí

Úložiště šablon prostředí

Pomocí Azure DevTest Labs můžete vytvářet prostředí ze šablon ARM. Šablony ARM můžou pocházet ze dvou zdrojů:

  • Azure DevTest Labs má veřejné úložiště šablon ARM, které obsahuje předem vytvořené š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 bez problémů začít s prostředky PaaS. Můžete použít šablony veřejného prostředí tak, jak jsou, nebo je přizpůsobit tak, aby vyhovovaly vašim potřebám.

  • Šablony prostředí můžete ukládat do vlastních veřejných nebo privátních úložišť Git a propojit tato úložiště s testovacím prostředím , aby byly šablony dostupné všem uživatelům testovacího prostředí.

Tip

Pokud chcete navrhnout revize nebo dodatky k veřejným šablonám, odešlete žádost o přijetí změn do opensourcového úložiště veřejných šablon GitHubu.

Konfigurace nastavení veřejného prostředí pro testovací prostředí

Testovací prostředí můžete nakonfigurovat tak, aby umožňovalo použití šablon z veřejného úložiště šablon. Pokud pro testovací prostředí povolíte úložiště veřejných šablon, uživatelé můžou rychle vytvořit prostředí tak, že tyto šablony vyberou přímo na webu Azure Portal, podobně jako když vytvoří virtuální počítač v testovacím prostředí.

Kromě toho můžete vybrat, ze kterých šablon mají uživatelé vytvářet prostředí.

Povolení veřejných prostředí při vytváření testovacího prostředí

Povolení přístupu k úložišti veřejného prostředí pro testovací prostředí při vytváření testovacího prostředí:

  1. Při vytváření prostředku DevTest Labs vyberte kartu Základní Nastavení.

  2. V poli Veřejná prostředí vyberte Zapnuto.

    Snímek obrazovky znázorňující povolení veřejných prostředí pro nové testovací prostředí

Povolení nebo zakázání veřejných prostředí pro existující testovací prostředí

U existujících testovacích prostředí nebo testovacích prostředí, která vytvoříte pomocí šablony ARM, nemusí být veřejná prostředí povolená. Povolení nebo zakázání úložiště veřejného prostředí pro existující testovací prostředí:

  1. Na webu Azure Portal vyberte prostředek testovacího prostředí.

  2. V levém navigačním panelu vyberte Konfigurace a zásady .

  3. V levém navigačním panelu vyberte veřejná prostředív základech virtuálních počítačů.

  4. Chcete-li povolit nebo zakázat veřejná prostředí pro toto testovací prostředí, vyberte možnost Ano nebo Ne.

  5. Zvolte Uložit.

Výběr dostupných veřejných šablon prostředí

Když povolíte veřejná prostředí, budou všechny šablony prostředí v úložišti k dispozici pro vytváření prostředí. Povolení pouze konkrétních prostředí pro testovací prostředí:

  1. Na webu Azure Portal vyberte prostředek testovacího prostředí.

  2. V levém navigačním panelu vyberte Konfigurace a zásady .

  3. V levém navigačním panelu vyberte veřejná prostředív základech virtuálních počítačů.

  4. Zrušte výběr konkrétních prostředí ze seznamu, aby byly uživatelům testovacího prostředí nedostupné, a pak vyberte Uložit.

    Snímek obrazovky znázorňující seznam veřejných prostředí pro testovací prostředí

Konfigurace uživatelských práv prostředí

Ve výchozím nastavení mají uživatelé testovacího prostředí roli Čtenář a nemůžou měnit prostředky prostředí. Uživatelé například nemůžou zastavit ani spustit prostředky. Pokud chcete uživatelům testovacího prostředí udělit roli Přispěvatel , aby mohli upravovat prostředky prostředí:

  1. Na webu Azure Portal vyberte prostředek testovacího prostředí.

  2. V levém navigačním panelu vyberte Konfigurace a zásady .

  3. V levém navigačním panelu vyberte Nastavení testovacího prostředí.

  4. V části Uživatelská práva skupiny prostředků přístupu k>prostředí vyberte Přispěvatel a pak vyberte Uložit.

    Snímek obrazovky znázorňující konfiguraci oprávnění přispěvatele uživatelů testovacího prostředí

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 automatizovat nasazení prostředí pomocí Azure PowerShellu nebo Azure CLI.

K vytvoření prostředí můžete použít příkaz Azure CLI az deployment group create . Další informace najdete v tématu Nasazení prostředků pomocí šablon Resource Manageru a Azure CLI.

Vlastníci a správci testovacího prostředí můžou pomocí Azure PowerShellu vytvářet virtuální počítače a prostředí ze šablon ARM.

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Pokud chcete začít, přečtěte si téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Automatizace nasazení šablon prostředí ARM pomocí Azure PowerShellu:

  1. Požádejte o vrácení šablony prostředí ARM se změnami do úložiště Git a úložiště přidané do testovacího prostředí.

  2. 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 Git repository)
    [string] [Parameter(Mandatory=$true)] $TemplateName,
    
    # Name of the environment to create in the lab
    [string] [Parameter(Mandatory=$true)] $EnvironmentName,
    
    # The parameters to be passed 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 will be "-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 that has the 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 the 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 the 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."
    
  3. Spusťte skript s použitím vlastních hodnot k nahrazení ukázkových hodnot pro:

    • SubscriptionId
    • LabName
    • ResourceGroupName
    • RepositoryName
    • TemplateName (složka šablony v úložišti Git)
    • EnvironmentName
    ./deployenv.ps1 -SubscriptionId "000000000-0000-0000-0000-0000000000000" -LabName "mydevtestlab" -ResourceGroupName "mydevtestlabRG000000" -RepositoryName "myRepository" -TemplateName "ARM template folder name" -EnvironmentName "myNewEnvironment"
    

Další kroky