Sdílet prostřednictvím


Integrace DevTest Labs do Azure Pipelines

Rozšíření Azure DevTest Labs Tasks můžete použít k integraci Azure DevTest Labs do kanálů kontinuální integrace a doručování (CI/CD) Azure Pipelines. Rozšíření nainstaluje do Azure Pipelines několik úloh, mezi které patří:

  • Vytvořit virtuální počítač
  • Vytvoření vlastní image z virtuálního počítače
  • Odstranění virtuálního počítače

Tyto úlohy usnadňují například rychlé nasazení virtuálního počítače se zlatými imagemi , spuštění konkrétního testu a následné odstranění virtuálního počítače.

Tento článek ukazuje, jak pomocí úloh Azure DevTest Labs vytvořit a nasadit virtuální počítač, vytvořit vlastní image a pak odstranit virtuální počítač, a to vše v jednom kanálu verze. Tyto úlohy byste obvykle prováděli samostatně ve vlastních kanálech sestavení, testování a nasazení.

Začínáme s Azure DevTest Labs

Zatím Azure neznáte? Vytvořte si bezplatný účet Azure.

Už jste na platformě Azure? Vytvořte první testovací prostředí a začněte s Azure DevTest Labs v řádu minut.

Požadavky

  • Na webu Azure Portal vytvořte testovací prostředí DevTest Labs nebo použijte existující testovací prostředí.

  • Zaregistrujte se nebo se přihlaste do organizace Azure DevOps Services a vytvořte projekt nebo použijte existující projekt.

  • Nainstalujte rozšíření Azure DevTest Labs Tasks ze sady Visual Studio Marketplace:

    1. Přejděte na Úlohy Azure DevTest Labs.
    2. Vyberte Získat zdarma.
    3. V rozevíracím seznamu vyberte svou organizaci Azure DevOps Services a pak vyberte Nainstalovat.

Vytvoření šablony pro sestavení virtuálního počítače testovacího prostředí

Nejprve vytvořte šablonu Azure Resource Manageru (ARM), která vytvoří testovací virtuální počítač na vyžádání.

  1. V testovacím prostředí na webu Azure Portal vyberte Přidat v horním řádku nabídek.
  2. Na obrazovce Zvolit základní obrazovku vyberte základní image Windows pro virtuální počítač.
  3. Na obrazovce Vytvořit prostředek testovacího prostředí v části Artefakty vyberte Přidat nebo odebrat artefakty.
  4. Na obrazovce Přidat artefakty vyhledejte winrm a pak vyberte šipku vedle možnosti Konfigurovat WinRM.
  5. V podokně Přidat artefakt zadejte plně kvalifikovaný název domény (FQDN) pro virtuální počítač, například contosolab00000000000000.westus3.cloudapp.azure.com. Vyberte OK a potom znovu vyberte OK.
  6. Vyberte kartu Upřesnit nastavení a pro IP adresu vyberte Veřejné.

    Poznámka:

    Pokud použijete artefakt WinRM se sdílenou IP adresou, musíte přidat pravidlo překladu síťových adres (NAT), které mapuje externí port na port WinRM. Pokud vytváříte virtuální počítač s veřejnou IP adresou, pravidlo překladu adres (NAT) nepotřebujete. Pro účely tohoto názorného postupu vytvořte virtuální počítač s veřejnou IP adresou.

  7. Vyberte Zobrazit šablonu ARM.
  8. Zkopírujte kód šablony a uložte ho jako soubor s názvem CreateVMTemplate.json ve větvi místní správy zdrojového kódu.
  9. Vrácení šablony se změnami do systému správy zdrojového kódu projektu

Vytvoření skriptu pro získání vlastností virtuálního počítače

Dále vytvořte skript, který shromáždí hodnoty, které kroky úkolu, jako je Kopírování souborů Azure a PowerShell na cílových počítačích , používají k nasazení aplikací do virtuálních počítačů. Tyto úlohy byste obvykle používali k nasazení vlastních aplikací do virtuálních počítačů Azure. Úlohy vyžadují hodnoty, jako je název skupiny prostředků virtuálního počítače, IP adresa a plně kvalifikovaný název domény.

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete 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.

Uložte následující skript s názvem, jako je GetLabVMParams.ps1, a zkontrolujte ho do systému správy zdrojového kódu projektu.

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"

Vytvoření kanálu verze v Azure Pipelines

V dalším kroku vytvořte kanál verze v Azure Pipelines. Úlohy kanálu používají hodnoty, které jste přiřadili virtuálnímu počítači při vytváření šablony ARM.

  1. Na stránce projektu Azure DevOps Services vyberte v levém navigačním panelu kanály >verze.
  2. Vyberte New pipeline (Nový kanál).
  3. V podokně Vybrat šablonu vyberte Prázdnou úlohu.
  4. Zavřete podokno Fáze.
  5. Na stránce Nový kanál verze vyberte kartu Proměnné.
  6. Vyberte Přidat a zadejte následující páry Název a Hodnota a po přidání každého z nich vyberte Přidat .
    • vmName: Název virtuálního počítače, který jste přiřadili v šabloně ARM.
    • userName: Uživatelské jméno pro přístup k virtuálnímu počítači.
    • heslo: Heslo pro uživatelské jméno. Výběrem ikony zámku skryjete a zabezpečíte heslo.

Přidání artefaktu

  1. Na nové stránce kanálu verze na kartě Kanál vyberte Přidat artefakt.
  2. V podokně Přidat artefakt vyberte úložiště Azure.
  3. V seznamu projektu vyberte projekt DevOps.
  4. V seznamu Zdroj (úložiště) vyberte zdrojové úložiště.
  5. V seznamu Výchozí větev vyberte větev, která se má rezervovat.
  6. Vyberte Přidat.

Vytvoření virtuálního počítače DevTest Labs

V dalším kroku se vytvoří virtuální počítač se zlatými imagemi, který se použije pro budoucí nasazení. Tento krok používá úlohu Vytvoření virtuálního počítače v Azure DevTest Labs.

  1. Na nové stránce kanálu verze vyberte na kartě Kanál hypertextový odkaz ve fázi 1.

  2. V levém podokně vyberte znaménko + plus vedle úlohy agenta.

  3. V části Přidat úlohy v pravém podokně vyhledejte a vyberte Azure DevTest Labs Vytvořit virtuální počítač a vyberte Přidat.

  4. V levém podokně vyberte úlohu Vytvořit virtuální počítač Azure DevTest Labs.

  5. Následujícím způsobem vyplňte formulář v pravém podokně:

    • Předplatné Azure RM: V rozevíracím seznamu vyberte připojení služby nebo předplatné a v případě potřeby vyberte Autorizovat .

      Poznámka:

      Informace o vytváření více omezených oprávnění připojení k vašemu předplatnému Azure najdete v tématu Koncový bod služby Azure Resource Manager.

    • Testovací prostředí: Vyberte název testovacího prostředí DevTest Labs.

    • Název virtuálního počítače: proměnná, kterou jste zadali pro název virtuálního počítače: $vmName.

    • Šablona: Vyhledejte a vyberte soubor šablony, který jste se přihlásili do úložiště projektu.

    • Soubor parametrů: Pokud jste v úložišti zkontrolovali soubor parametrů, vyhledejte ho a vyberte ho.

    • Přepsání parametrů: Enter -newVMName '$(vmName)' -userName '$(userName)' -password '$(password)'.

    • Rozevírací seznam Výstupní proměnné a v části Název odkazu zadejte proměnnou pro vytvořené ID virtuálního počítače testovacího prostředí. Pojďme pro zjednodušení zadat virtuální počítač pro název reference. labVmId bude atributem této proměnné a později se bude označovat jako $vm.labVmId. Pokud použijete jiný název, nezapomeňte ho použít v následných úkolech.

      ID virtuálního počítače testovacího prostředí bude v následujícím formátu: /subscriptions/{subscription Id}/resourceGroups/{resource group Name}/providers/Microsoft.DevTestLab/labs/{lab name}/virtualMachines/{vmName}.

Shromáždění podrobností o virtuálním počítači DevTest Labs

V dalším kroku kanál spustí skript, který jste vytvořili a shromáždí podrobnosti o virtuálním počítači DevTest Labs.

  1. Na kartě Úlohy kanálu verze vyberte znaménko + plus vedle úlohy agenta.
  2. V části Přidat úkoly v pravém podokně vyhledejte a vyberte Azure PowerShell a vyberte Přidat.
  3. V levém podokně vyberte skript Azure PowerShellu: Úloha FilePath .
  4. V pravém podokně vyplňte formulář následujícím způsobem:
    • Předplatné Azure: Vyberte připojení ke službě nebo předplatné.
    • Typ skriptu: Vyberte cestu k souboru skriptu.
    • Cesta ke skriptu: Přejděte a vyberte skript PowerShellu, který jste se přihlásili do úložiště zdrojového kódu. Pomocí předdefinovaných vlastností můžete cestu zjednodušit, například: $(System.DefaultWorkingDirectory/Scripts/GetLabVMParams.ps1.
    • Argumenty skriptu: Zadejte hodnotu jako -labVmId $(vm.labVmId).

Skript shromáždí požadované hodnoty a uloží je do proměnných prostředí v rámci kanálu verze, abyste na ně mohli odkazovat v pozdějších krocích.

Vytvoření image virtuálního počítače z virtuálního počítače DevTest Labs

Další úloha vytvoří image nově nasazeného virtuálního počítače v testovacím prostředí. Image můžete použít k vytvoření kopií virtuálního počítače na vyžádání, abyste mohli provádět úlohy vývojářů nebo spouštět testy.

  1. Na kartě Úlohy kanálu verze vyberte znaménko + plus vedle úlohy agenta.
  2. V části Přidat úlohy vyberte Azure DevTest Labs Vytvořit vlastní image a vyberte Přidat.
  3. V levém podokně vyberte úlohu Vytvoření vlastní image v Azure DevTest Labs.
  4. V pravém podokně vyplňte formulář následujícím způsobem:
    • Předplatné Azure RM: Vyberte připojení ke službě nebo předplatné.
    • Cvičení: Vyberte testovací prostředí.
    • Vlastní název image: Zadejte název vlastní image.
    • Popis: Zadejte volitelný popis, který usnadňuje výběr správného obrázku.
    • Zdrojový virtuální počítač testovacího prostředí: Id zdrojového testovacího prostředí. Zadejte hodnotu jako $(vm.labVmId).
    • Výstupní proměnné: V případě potřeby můžete upravit název výchozí proměnné ID vlastního obrázku.

Nasazení aplikace na virtuální počítač DevTest Labs (volitelné)

Do nového virtuálního počítače DevTest Labs můžete přidat úlohy pro nasazení aplikace. Pokud chcete experimentovat jenom s vytvářením virtuálního počítače DevTest Labs a vlastní image bez nasazení aplikace, můžete tento krok přeskočit.

Úlohy, které obvykle používáte k nasazení aplikací, jsou Azure File Copy a PowerShell na cílových počítačích. Informace o virtuálním počítači, které potřebujete pro parametry úlohy, najdete ve třech konfiguračních proměnných s názvem labVmRgName, labVMIpAddress a labVMFqdn v kanálu verze.

Odstranění virtuálního počítače

Posledním úkolem je odstranit virtuální počítač, který jste nasadili v testovacím prostředí. Virtuální počítač byste obvykle odstranili po provedení úloh vývojáře nebo spuštění testů, které potřebujete na nasazeném virtuálním počítači.

  1. Na kartě Úlohy kanálu verze vyberte znaménko + plus vedle úlohy agenta.
  2. V části Přidat úlohy vyberte Azure DevTest Labs Odstranit virtuální počítač a vyberte Přidat.
  3. Nakonfigurujte úlohu následujícím způsobem:
    • Předplatné Azure RM: Vyberte připojení ke službě nebo předplatné.
    • Cvičení: Vyberte testovací prostředí.
    • Virtuální počítač: Zadejte hodnotu $(vm.labVmId).
    • Výstupní proměnné: Pokud jste změnili výchozí název proměnné labVmId, zadejte ji sem. Výchozí hodnota je $(labVmId).

Uložení kanálu verze

Uložení nového kanálu verze:

  1. V horní části stránky kanálu verze vyberte Nový kanál verze a zadejte nový název kanálu.
  2. Vyberte Uložit v pravém horním rohu.

Vytvoření a spuštění verze

Vytvoření a spuštění verze pomocí nového kanálu:

  1. Na stránce kanálu verze vyberte v pravém horním rohu možnost Vytvořit verzi .
  2. V části Artefakty vyberte nejnovější build a pak vyberte Vytvořit.

V každé fázi vydání můžete aktualizovat zobrazení testovacího prostředí na webu Azure Portal, abyste viděli vytvoření virtuálního počítače, vytvoření image a odstranění virtuálního počítače.

Vlastní image můžete použít k vytvoření virtuálních počítačů, kdykoli je potřebujete.

Další kroky

  • Prozkoumejte další šablony ARM pro rychlý start pro automatizaci DevTest Labs z veřejného úložiště DevTest Labs na GitHubu.
  • V případě potřeby se podívejte na řešení potíží se službou Azure Pipelines.