Dela via


Integrera DevTest Labs i Azure Pipelines

Du kan använda tillägget Azure DevTest Labs Tasks för att integrera Azure DevTest Labs i Azure Pipelines-pipelines för kontinuerlig integrering och leverans (CI/CD). Tillägget installerar flera uppgifter i Azure Pipelines, bland annat:

  • Skapa en virtuell dator (VM)
  • Skapa en anpassad avbildning från en virtuell dator
  • Ta bort en virtuell dator

De här uppgifterna gör det enkelt att till exempel snabbt distribuera en virtuell dator med gyllene avbildningar , köra ett specifikt test och sedan ta bort den virtuella datorn.

Den här artikeln visar hur du använder Azure DevTest Labs-uppgifter för att skapa och distribuera en virtuell dator, skapa en anpassad avbildning och sedan ta bort den virtuella datorn, allt i en versionspipeline. Normalt utför du dessa uppgifter separat i dina egna bygg-, test- och distributionspipelines.

Kom igång med Azure DevTest Labs

Är du nybörjare på Azure? Skapa ett kostnadsfritt Azure-konto.

Har redan Azure? Skapa ditt första labb och kom igång med Azure DevTest Labs på några minuter.

Förutsättningar

  • I Azure Portal skapar du ett DevTest Labs-labb eller använder ett befintligt labb.

  • Registrera dig eller logga in på din Azure DevOps Services-organisation och skapa ett projekt eller använd ett befintligt projekt.

  • Installera Tillägget Azure DevTest Labs Tasks från Visual Studio Marketplace:

    1. Gå till Azure DevTest Labs-uppgifter.
    2. Välj Hämta kostnadsfritt.
    3. Välj din Azure DevOps Services-organisation i listrutan och välj sedan Installera.

Skapa en mall för att skapa en virtuell labbdator

Skapa först en ARM-mall (Azure Resource Manager) som skapar en virtuell labbdator på begäran.

  1. I labbuppgiften i Azure Portal väljer du Lägg till i den översta menyraden.
  2. På skärmen Välj en bas väljer du en Windows-basavbildning för den virtuella datorn.
  3. På skärmen Skapa labbresurs går du till Artefakter och väljer Lägg till eller ta bort artefakter.
  4. På skärmen Lägg till artefakter söker du efter winrm och väljer sedan pilen bredvid Konfigurera WinRM.
  5. I fönstret Lägg till artefakt anger du ett fullständigt domännamn (FQDN) för den virtuella datorn, till exempel contosolab00000000000000.westus3.cloudapp.azure.com. Välj OK, och välj sedan OK.
  6. Välj fliken Avancerade inställningar och välj Offentlig för IP-adress.

    Kommentar

    Om du använder WinRM-artefakten med en delad IP-adress måste du lägga till en NAT-regel (network address translation) för att mappa en extern port till WinRM-porten. Du behöver inte NAT-regeln om du skapar den virtuella datorn med en offentlig IP-adress. För den här genomgången skapar du den virtuella datorn med en offentlig IP-adress.

  7. Välj Visa ARM-mall.
  8. Kopiera mallkoden och spara den som en fil med namnet CreateVMTemplate.json i din lokala källkontrollgren.
  9. Checka in mallen i projektets källkontrollsystem.

Skapa ett skript för att hämta vm-egenskaper

Skapa sedan ett skript för att samla in de värden som aktivitetssteg som Azure File Copy och PowerShell på måldatorer använder för att distribuera appar till virtuella datorer. Vanligtvis använder du dessa uppgifter för att distribuera dina egna appar till dina virtuella Azure-datorer. Aktiviteterna kräver värden som namnet på den virtuella datorns resursgrupp, IP-adress och FQDN.

Kommentar

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Spara följande skript med ett namn som GetLabVMParams.ps1 och checka in det i projektets källkontrollsystem.

Param( [string] $labVmId)

$labVmComputeId = (Get-AzResource -Id $labVmId).Properties.ComputeId

# Get lab VM resource group name
$labVmRgName = (Get-AzResource -Id $labVmComputeId).ResourceGroupName

# Get the lab VM Name
$labVmName = (Get-AzResource -Id $labVmId).Name

# Get lab VM public IP address
$labVMIpAddress = (Get-AzPublicIpAddress -ResourceGroupName $labVmRgName -Name $labVmName).IpAddress

# Get lab VM FQDN
$labVMFqdn = (Get-AzPublicIpAddress -ResourceGroupName $labVmRgName -Name $labVmName).DnsSettings.Fqdn

# Set a variable labVmRgName to store the lab VM resource group name
Write-Host "##vso[task.setvariable variable=labVmRgName;]$labVmRgName"

# Set a variable labVMIpAddress to store the lab VM Ip address
Write-Host "##vso[task.setvariable variable=labVMIpAddress;]$labVMIpAddress"

# Set a variable labVMFqdn to store the lab VM FQDN name
Write-Host "##vso[task.setvariable variable=labVMFqdn;]$labVMFqdn"

Skapa en versionspipeline i Azure Pipelines

Skapa sedan versionspipelinen i Azure Pipelines. Pipelineuppgifterna använder de värden som du tilldelade den virtuella datorn när du skapade ARM-mallen.

  1. På projektsidan för Azure DevOps Services väljer du Pipelines-versioner> i det vänstra navigeringsfältet.
  2. Välj Ny pipeline.
  3. I fönstret Välj en mall väljer du Tomt jobb.
  4. Stäng fönstret Steg .
  5. På sidan Ny versionspipeline väljer du fliken Variabler .
  6. Välj Lägg till och ange följande namn- och värdepar och välj Lägg till när du har lagt till var och en.
    • vmName: Namnet på den virtuella datorn som du tilldelade i ARM-mallen.
    • userName: Användarnamnet för att komma åt den virtuella datorn.
    • lösenord: Lösenord för användarnamnet. Välj låsikonen för att dölja och skydda lösenordet.

Lägg till en artefakt

  1. På sidan ny versionspipeline går du till fliken Pipeline och väljer Lägg till en artefakt.
  2. I fönstret Lägg till en artefakt väljer du Azure Repo.
  3. I listan Projekt väljer du ditt DevOps-projekt.
  4. I listan Källa (lagringsplats) väljer du källlagringsplatsen.
  5. I listan Standardgren väljer du den gren som ska checkas ut.
  6. Markera Lägga till.

Skapa en virtuell DevTest Labs-dator

Nästa steg skapar en virtuell dator med gyllene avbildningar som ska användas för framtida distributioner. I det här steget används uppgiften Skapa virtuell dator i Azure DevTest Labs.

  1. På sidan ny versionspipeline går du till fliken Pipeline och väljer den hyperlänkade texten i steg 1.

  2. I den vänstra rutan väljer du plustecknet + bredvid Agentjobb.

  3. Under Lägg till uppgifter i den högra rutan söker du efter och väljer Azure DevTest Labs Skapa virtuell dator och väljer Lägg till.

  4. I den vänstra rutan väljer du uppgiften Skapa en virtuell Azure DevTest Labs-dator .

  5. I den högra rutan fyller du i formuläret enligt följande:

    • Azure RM-prenumeration: Välj din tjänstanslutning eller prenumeration i listrutan och välj Auktorisera om det behövs.

      Kommentar

      Information om hur du skapar en mer begränsad behörighetsanslutning till din Azure-prenumeration finns i Tjänstslutpunkten för Azure Resource Manager.

    • Labb: Välj ditt DevTest Labs-labbnamn.

    • Namn på virtuell dator: variabeln som du angav för namnet på den virtuella datorn: $vmName.

    • Mall: Bläddra till och välj den mallfil som du checkade in på projektlagringsplatsen.

    • Parameterfil: Om du har kontrollerat en parameterfil till lagringsplatsen bläddrar du till och väljer den.

    • Parameter åsidosättningar: Ange -newVMName '$(vmName)' -userName '$(userName)' -password '$(password)'.

    • Listrutan Utdatavariabler och under Referensnamn anger du variabeln för det skapade labb-VM-ID:t. Vi anger virtuell dator som referensnamn för enkelhetens skull. labVmId är ett attribut för den här variabeln och kallas senare för $vm.labVmId. Om du använder något annat namn ska du komma ihåg att använda det i enlighet med detta i efterföljande uppgifter.

      Labb-VM-ID:t finns i följande form: /subscriptions/{subscription Id}/resourceGroups/{resource group Name}/providers/Microsoft.DevTestLab/labs/{lab name}/virtualMachines/{vmName}.

Samla in information om den virtuella DevTest Labs-datorn

Därefter kör pipelinen skriptet som du skapade för att samla in information om den virtuella DevTest Labs-datorn.

  1. På fliken Uppgifter för versionspipeline väljer du plustecknet + bredvid Agentjobbet.
  2. Under Lägg till uppgifter i den högra rutan söker du efter och väljer Azure PowerShell och väljer Lägg till.
  3. I den vänstra rutan väljer du Azure PowerShell-skriptet: FilePath-uppgift .
  4. Fyll i formuläret på följande sätt i den högra rutan:
    • Azure-prenumeration: Välj din tjänstanslutning eller prenumeration.
    • Skripttyp: Välj Sökväg till skriptfil.
    • Skriptsökväg: Bläddra till och välj det PowerShell-skript som du checkade in på källkodslagringsplatsen. Du kan använda inbyggda egenskaper för att förenkla sökvägen, till exempel: $(System.DefaultWorkingDirectory/Scripts/GetLabVMParams.ps1.
    • Skriptargument: Ange värdet som -labVmId $(vm.labVmId).

Skriptet samlar in de värden som krävs och lagrar dem i miljövariabler i versionspipelinen, så att du kan referera till dem i senare steg.

Skapa en VM-avbildning från den virtuella DevTest Labs-datorn

Nästa uppgift skapar en avbildning av den nyligen distribuerade virtuella datorn i labbet. Du kan använda avbildningen för att skapa kopior av den virtuella datorn på begäran för att utföra utvecklaruppgifter eller köra tester.

  1. På fliken Uppgifter för versionspipeline väljer du plustecknet + bredvid Agentjobbet.
  2. Under Lägg till uppgifter väljer du Azure DevTest Labs Skapa anpassad avbildning och väljer Lägg till.
  3. I den vänstra rutan väljer du uppgiften Skapa anpassad avbildning i Azure DevTest Labs.
  4. Fyll i formuläret på följande sätt i den högra rutan:
    • Azure RM-prenumeration: Välj din tjänstanslutning eller prenumeration.
    • Labb: Välj ditt labb.
    • Anpassat avbildningsnamn: Ange ett namn för den anpassade avbildningen.
    • Beskrivning: Ange en valfri beskrivning för att göra det enkelt att välja rätt bild.
    • Virtuell källlabbdator: Källan labVmId. Ange värdet som $(vm.labVmId).
    • Utdatavariabler: Du kan redigera namnet på standardvariabeln för anpassad avbildnings-ID om det behövs.

Distribuera din app till den virtuella DevTest Labs-datorn (valfritt)

Du kan lägga till uppgifter för att distribuera din app till den nya virtuella DevTest Labs-datorn. Om du bara vill experimentera med att skapa en virtuell DevTest Labs-dator och en anpassad avbildning, utan att distribuera en app, kan du hoppa över det här steget.

De uppgifter som du vanligtvis använder för att distribuera appar är Azure File Copy och PowerShell på måldatorer. Du hittar den vm-information du behöver för aktivitetsparametrarna i tre konfigurationsvariabler med namnet labVmRgName, labVMIpAddress och labVMFqdn i versionspipelinen.

Ta bort den virtuella datorn

Den sista uppgiften är att ta bort den virtuella dator som du distribuerade i labbet. Du tar vanligtvis bort den virtuella datorn när du har gjort utvecklaruppgifterna eller kör de tester som du behöver på den distribuerade virtuella datorn.

  1. På fliken Uppgifter för versionspipeline väljer du plustecknet + bredvid Agentjobbet.
  2. Under Lägg till uppgifter väljer du Azure DevTest Labs Ta bort virtuell dator och väljer Lägg till.
  3. Konfigurera uppgiften på följande sätt:
    • Azure RM-prenumeration: Välj din tjänstanslutning eller prenumeration.
    • Labb: Välj ditt labb.
    • Virtuell dator: Ange värdet som $(vm.labVmId).
    • Utdatavariabler: Om du har ändrat standardnamnet för labVmId-variabeln under Referensnamn anger du det här. Standardvärdet är $(labVmId).

Spara versionspipelinen

Så här sparar du den nya versionspipelinen:

  1. Välj Ny versionspipeline överst på sidan versionspipeline och ange ett nytt namn för pipelinen.
  2. Välj Spara uppe till höger.

Skapa och köra en version

Så här skapar och kör du en version med den nya pipelinen:

  1. På sidan versionspipeline väljer du Skapa version uppe till höger.
  2. Under Artefakter väljer du den senaste versionen och väljer sedan Skapa.

I varje versionssteg kan du uppdatera vyn för ditt labb i Azure Portal för att se hur den virtuella datorn skapas, skapas och tas bort.

Du kan använda den anpassade avbildningen för att skapa virtuella datorer när du behöver dem.

Nästa steg