Použití příkazového řádku ke spuštění a zastavení virtuálních počítačů DevTest Labs

Tento článek ukazuje, jak spustit nebo zastavit Azure DevTest Labs virtuálních počítačů pomocí Azure PowerShell nebo příkazového řádku a skriptů Azure CLI.

Virtuální počítače DevTest Labs můžete spouštět, zastavovat nebo restartovat pomocí Azure Portal. Pomocí portálu můžete také nakonfigurovat plány automatického spouštění a automatického vypínání a zásady pro virtuální počítače testovacího prostředí.

Pokud chcete skriptovat nebo automatizovat spuštění nebo zastavení virtuálních počítačů testovacího prostředí, použijte příkazy PowerShellu nebo Azure CLI. Příkazy start nebo stop můžete například použít k následujícímu:

  • Otestujte třívrstvé aplikace, kde se vrstvy musí spouštět v posloupnosti.
  • Vypněte virtuální počítače, abyste ušetřili náklady, když splňují vlastní kritéria.
  • Spusťte při zahájení pracovního postupu kontinuální integrace a průběžného doručování (CI/CD) a zastavte, až se dokončí. Příklad tohoto pracovního postupu najdete v tématu Spuštění objektu pro vytváření imagí z Azure DevOps.

Požadavky

Azure PowerShell skript

Následující skript PowerShellu spustí nebo zastaví virtuální počítač v testovacím prostředí pomocí invoke-AzResourceAction. Parametr ResourceId je plně kvalifikované ID virtuálního počítače testovacího prostředí, který chcete spustit nebo zastavit. Parametr Action určuje, jestli se má virtuální počítač spustit nebo zastavit, v závislosti na tom, kterou akci potřebujete.

  1. Z pracovní stanice se přihlaste ke svému účtu Azure pomocí rutiny PowerShell Connect-AzAccount . Pokud máte více předplatných Azure, zrušte komentář Set-AzContext řádku a vyplňte <Subscription ID> požadovaný řádek.

    # Sign in to your Azure subscription
    $sub = Get-AzSubscription -ErrorAction SilentlyContinue
    if(-not($sub))
    {
        Connect-AzAccount
    }
    
    # Set-AzContext -SubscriptionId "<Subscription ID>"
    
  2. Zadejte hodnoty pro <lab name> a a <VM name>a zadejte požadovanou akci pro <Start or Stop>.

    $devTestLabName = "<lab name>"
    $vMToStart = "<VM name>"
    
    # The action on the virtual machine (Start or Stop)
    $vmAction = "<Start or Stop>"
    
  3. Spusťte nebo zastavte virtuální počítač na základě hodnoty, kterou jste předali do $vmAction.

    # Get the lab information
    $devTestLab = Get-AzResource -ResourceType 'Microsoft.DevTestLab/labs' -ResourceName $devTestLabName
    
    # Start or stop the VM and return a succeeded or failed status
    $returnStatus = Invoke-AzResourceAction `
                        -ResourceId "$($devTestLab.ResourceId)/virtualmachines/$vMToStart" `
                        -Action $vmAction `
                        -Force
    
    if ($returnStatus.Status -eq 'Succeeded') {
        Write-Output "##[section] Successfully updated DTL machine: $vMToStart, Action: $vmAction"
    }
    else {
        Write-Error "##[error] Failed to update DTL machine: $vMToStart, Action: $vmAction"
    }
    

Skript Azure CLI

Následující skript poskytuje příkazy Azure CLI pro spuštění nebo zastavení virtuálního počítače testovacího prostředí. Proměnné v tomto skriptu jsou určené pro prostředí Windows, jako je příkazový řádek. Prostředí Bash nebo jiná prostředí mají mírné odchylky.

  1. Zadejte odpovídající hodnoty pro <Subscription ID>, <lab name>, <VM name>a akci, která <Start or Stop> se má provést.

    set SUBSCRIPTIONID=<Subscription ID>
    set DEVTESTLABNAME=<lab name>
    set VMNAME=<VM name>
    set ACTION=<Start or Stop>
    
  2. Přihlaste se ke svému účtu Azure. Pokud máte více předplatných Azure, zrušte komentář řádku az account set a použijte ID předplatného, které jste zadali.

    az login
    
    REM az account set --subscription %SUBSCRIPTIONID%
    
  3. Získejte název skupiny prostředků, která obsahuje testovací prostředí.

    az resource list --resource-type "Microsoft.DevTestLab/labs" --name %DEVTESTLABNAME% --query "[0].resourceGroup"
    
  4. Nahraďte <resourceGroup> hodnotou, kterou jste získali z předchozího kroku.

    set RESOURCEGROUP=<resourceGroup>
    
  5. Spuštěním příkazového řádku spusťte nebo zastavte virtuální počítač na základě hodnoty, kterou jste předali do ACTION.

    az lab vm %ACTION% --lab-name %DEVTESTLABNAME% --name %VMNAME% --resource-group %RESOURCEGROUP%
    

Další kroky