Delen via


DevTest Labs integreren in Azure Pipelines

U kunt de Azure DevTest Labs Tasks-extensie gebruiken om Azure DevTest Labs te integreren in CI/CD-pijplijnen (continue integratie en levering) van Azure Pipelines. De extensie installeert verschillende taken in Azure Pipelines, waaronder:

  • Een virtuele machine (VM) maken
  • Een aangepaste installatiekopie maken vanaf een virtuele machine
  • Een VM verwijderen

Met deze taken kunt u bijvoorbeeld snel een golden image-VM implementeren, een specifieke test uitvoeren en vervolgens de VIRTUELE machine verwijderen.

In dit artikel wordt beschreven hoe u Azure DevTest Labs-taken gebruikt om een virtuele machine te maken en implementeren, een aangepaste installatiekopieën te maken en vervolgens de VIRTUELE machine te verwijderen, allemaal in één release-pijplijn. Normaal gesproken voert u deze taken afzonderlijk uit in uw eigen build-, test- en implementatiepijplijnen.

Aan de slag met Azure DevTest Labs

Nieuw bij Azure? Maak een gratis Azure-account.

Gebruikt u Azure al? Maak uw eerste lab en ga binnen enkele minuten aan de slag met Azure DevTest Labs.

Vereisten

Een sjabloon maken om een lab-VM te maken

Maak eerst een ARM-sjabloon (Azure Resource Manager) waarmee een lab-VM op aanvraag wordt gemaakt.

  1. Selecteer In uw lab in Azure Portal de optie Toevoegen in de bovenste menubalk.
  2. Selecteer in het basisscherm Een Windows-basisinstallatiekopieën voor de virtuele machine kiezen.
  3. Selecteer in het scherm Labresource maken onder Artefacten de optie Artefacten toevoegen of verwijderen.
  4. Zoek in het scherm Artefacten toevoegen naar winrm en selecteer vervolgens de pijl naast WinRM configureren.
  5. Voer in het deelvenster Artefact toevoegen een FQDN (Fully Qualified Domain Name) in voor de virtuele machine, zoals contosolab00000000000000.westus3.cloudapp.azure.com. Selecteer OK en selecteer vervolgens OK nogmaals.
  6. Selecteer het tabblad Geavanceerde instellingen en selecteer openbaar voor IP-adres.

    Notitie

    Als u het WinRM-artefact met een gedeeld IP-adres gebruikt, moet u een NAT-regel (Network Address Translation) toevoegen om een externe poort toe te wijzen aan de WinRM-poort. U hebt de NAT-regel niet nodig als u de VIRTUELE machine maakt met een openbaar IP-adres. Voor dit scenario maakt u de virtuele machine met een openbaar IP-adres.

  7. Selecteer ARM-sjabloon weergeven.
  8. Kopieer de sjablooncode en sla deze op als een bestand met de naam CreateVMTemplate.json in uw lokale bronbeheerbranch.
  9. Controleer de sjabloon op het broncodebeheersysteem van uw project.

Zie Een Resource Manager-sjabloon gebruiken voor meer informatie en details.

Een script maken om VM-eigenschappen op te halen

Maak vervolgens een script om de waarden te verzamelen die taakstappen zoals Azure File Copy en PowerShell op doelmachines gebruiken om apps te implementeren op VM's. Normaal gesproken gebruikt u deze taken om uw eigen apps te implementeren op uw Azure-VM's. Voor de taken zijn waarden vereist, zoals de naam van de VM-resourcegroep, het IP-adres en de FQDN.

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Sla het volgende script op met een naam zoals GetLabVMParams.ps1 en check het in bij het broncodebeheersysteem van uw project.

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"

Een release-pijplijn in Azure Pipelines maken

Maak vervolgens de release-pijplijn in Azure Pipelines. De pijplijntaken gebruiken de waarden die u aan de VM hebt toegewezen bij het maken van de ARM-sjabloon.

  1. Selecteer pijplijnreleases> in het linkernavigatievenster op de projectpagina van Azure DevOps Services.
  2. Selecteer Nieuwe pijplijn.
  3. Selecteer lege taak in het deelvenster Een sjabloon selecteren.
  4. Sluit het deelvenster Fase .
  5. Selecteer op de pagina Nieuwe release-pijplijn het tabblad Variabelen .
  6. Selecteer Toevoegen en voer de volgende naam - en waardeparen in en selecteer Toevoegen nadat u deze hebt toegevoegd.
    • vmName: de naam van de VIRTUELE machine die u hebt toegewezen in de ARM-sjabloon.
    • userName: de gebruikersnaam voor toegang tot de virtuele machine.
    • wachtwoord: wachtwoord voor de gebruikersnaam. Selecteer het vergrendelingspictogram om het wachtwoord te verbergen en te beveiligen.

Een artefact toevoegen

  1. Selecteer Een artefact toevoegen op de pagina nieuwe releasepijplijn op het tabblad Pijplijn.
  2. Selecteer Azure-opslagplaats in het deelvenster Een artefact toevoegen.
  3. Selecteer uw DevOps-project in de lijst Project .
  4. Selecteer uw bronopslagplaats in de lijst Bron (opslagplaats ).
  5. Selecteer de vertakking die u wilt uitchecken in de lijst Met standaard vertakkingen .
  6. Selecteer Toevoegen.

Een DevTest Labs-VM maken

In de volgende stap maakt u een golden image-VM die moet worden gebruikt voor toekomstige implementaties. In deze stap wordt gebruikgemaakt van de Azure DevTest Labs VM-taak maken .

  1. Selecteer op de pagina nieuwe release-pijplijn op het tabblad Pijplijn de hyperlinktekst in fase 1.

  2. Selecteer in het linkerdeelvenster het plusteken + naast agenttaak.

  3. Zoek en selecteer onder Taken toevoegen in het rechterdeelvenster azure DevTest Labs maken en selecteer deze en selecteer Toevoegen.

  4. Selecteer in het linkerdeelvenster de vm-taak Azure DevTest Labs maken.

  5. Vul in het rechterdeelvenster het formulier als volgt in:

    • Azure RM-abonnement: selecteer uw serviceverbinding of abonnement in de vervolgkeuzelijst en selecteer indien nodig Autoriseren .

      Notitie

      Zie het Azure Resource Manager-service-eindpunt voor meer informatie over het maken van een beperktere machtigingsverbinding met uw Azure-abonnement.

    • Lab: Selecteer de naam van uw DevTest Labs-lab.

    • Naam van virtuele machine: de variabele die u hebt opgegeven voor de naam van de virtuele machine: $vmName.

    • Sjabloon: Blader naar en selecteer het sjabloonbestand dat u hebt ingecheckt in uw projectopslagplaats.

    • Parameterbestand: Als u een parameterbestand in uw opslagplaats hebt gecontroleerd, bladert u ernaar en selecteert u het.

    • Parameteroverschrijvingen: Voer in -newVMName '$(vmName)' -userName '$(userName)' -password '$(password)'.

    • Vervolgkeuzelijst Uitvoervariabelen en voer onder Verwijzingsnaam de variabele in voor de gemaakte vm-id van het lab. Laten we de vm voor referentienaam invoeren om het eenvoudig te maken. labVmId is een kenmerk van deze variabele en wordt later aangeduid als $vm.labVmId. Als u een andere naam gebruikt, moet u deze dienovereenkomstig gebruiken in de volgende taken.

      De id van de lab-VM heeft de volgende vorm: /subscriptions/{subscription Id}/resourceGroups/{resource group Name}/providers/Microsoft.DevTestLab/labs/{lab name}/virtualMachines/{vmName}.

De details van de DevTest Labs-VM verzamelen

Vervolgens voert de pijplijn het script uit dat u hebt gemaakt om de details van de DevTest Labs-VM te verzamelen.

  1. Selecteer op het tabblad Release-pijplijntaken het plusteken + naast agenttaak.
  2. Zoek en selecteer Azure PowerShell onder Taken toevoegen in het rechterdeelvenster en selecteer Deze optie.
  3. Selecteer in het linkerdeelvenster het Azure PowerShell-script: FilePath-taak .
  4. Vul in het rechterdeelvenster het formulier als volgt in:
    • Azure-abonnement: selecteer uw serviceverbinding of -abonnement.
    • Scripttype: selecteer pad naar scriptbestand.
    • Scriptpad: Blader naar en selecteer het PowerShell-script dat u hebt ingecheckt in de opslagplaats voor broncode. U kunt ingebouwde eigenschappen gebruiken om het pad te vereenvoudigen, bijvoorbeeld: $(System.DefaultWorkingDirectory/Scripts/GetLabVMParams.ps1.
    • Scriptargumenten: voer de waarde in als -labVmId $(vm.labVmId).

Het script verzamelt de vereiste waarden en slaat deze op in omgevingsvariabelen in de release-pijplijn, zodat u deze in latere stappen kunt raadplegen.

Een VM-installatiekopieën maken op basis van de DevTest Labs-VM

Met de volgende taak maakt u een installatiekopie van de zojuist geïmplementeerde VM in uw lab. U kunt de installatiekopieën gebruiken om kopieën van de VIRTUELE machine op aanvraag te maken om ontwikkelaarstaken uit te voeren of tests uit te voeren.

  1. Selecteer op het tabblad Release-pijplijntaken het plusteken + naast agenttaak.
  2. Selecteer onder Taken toevoegen de optie Aangepaste installatiekopieën maken in Azure DevTest Labs en selecteer Toevoegen.
  3. Selecteer in het linkerdeelvenster de taak Aangepaste installatiekopieën maken in Azure DevTest Labs.
  4. Vul in het rechterdeelvenster het formulier als volgt in:
    • Azure RM-abonnement: selecteer uw serviceverbinding of -abonnement.
    • Lab: Selecteer uw lab.
    • Naam van aangepaste installatiekopieën: voer een naam in voor de aangepaste installatiekopieën.
    • Beschrijving: Voer een optionele beschrijving in om de juiste afbeelding eenvoudig te selecteren.
    • Bronlab-VM: de bronlabVmId. Voer de waarde in als $(vm.labVmId).
    • Uitvoervariabelen: U kunt indien nodig de naam van de standaardvariabele aangepaste installatiekopieën-id bewerken.

Uw app implementeren op de DevTest Labs-VM (optioneel)

U kunt taken toevoegen om uw app te implementeren op de nieuwe DevTest Labs-VM. Als u alleen wilt experimenteren met het maken van een DevTest Labs-VM en een aangepaste installatiekopieën, zonder een app te implementeren, kunt u deze stap overslaan.

De taken die u doorgaans gebruikt voor het implementeren van apps zijn Azure File Copy en PowerShell op doelcomputers. U vindt de VM-informatie die u nodig hebt voor de taakparameters in drie configuratievariabelen met de naam labVmRgName, labVMIpAddress en labVMFqdn in de release-pijplijn.

De VM verwijderen

De laatste taak is het verwijderen van de VM die u in uw lab hebt geïmplementeerd. Normaal gesproken verwijdert u de VIRTUELE machine nadat u de ontwikkelaarstaken hebt uitgevoerd of de tests uitvoert die u nodig hebt op de geïmplementeerde VM.

  1. Selecteer op het tabblad Release-pijplijntaken het plusteken + naast agenttaak.
  2. Selecteer onder Taken toevoegen de optie Azure DevTest Labs VM verwijderen en selecteer Toevoegen.
  3. Configureer de taak als volgt:
    • Azure RM-abonnement: selecteer uw serviceverbinding of -abonnement.
    • Lab: Selecteer uw lab.
    • Virtuele machine: voer de waarde in als $(vm.labVmId).
    • Uitvoervariabelen: Voer deze hier in als u de standaardnaam van de labVmId-variabele hebt gewijzigd. De standaardwaarde is $(labVmId).

De release-pijplijn opslaan

De nieuwe release-pijplijn opslaan:

  1. Selecteer Nieuwe release-pijplijn boven aan de release-pijplijnpagina en voer een nieuwe naam in voor de pijplijn.
  2. Selecteer Opslaan rechtsboven.

Een release maken en uitvoeren

Ga als volgt te werk om een release te maken en uit te voeren met behulp van de nieuwe pijplijn:

  1. Selecteer op de pagina Release-pijplijn de optie Release maken in de rechterbovenhoek.
  2. Selecteer onder Artefacten de nieuwste build en selecteer vervolgens Maken.

In elke releasefase kunt u de weergave van uw lab in Azure Portal vernieuwen om het maken, maken van installatiekopieën en het verwijderen van vm's te bekijken.

U kunt de aangepaste installatiekopieën gebruiken om VM's te maken wanneer u ze nodig hebt.

Volgende stappen