Spuštění objektu pro vytváření imagí z Azure DevOps

Tento článek popisuje všechny přípravy potřebné ke spuštění objektu pro vytváření imagí z Azure DevOps (dříve Visual Studio Team Services).

Poznámka:

Jakýkoli orchestrační modul bude fungovat! Azure DevOps není povinný. Objekt pro vytváření imagí se spouští pomocí skriptů Azure PowerShellu, takže se dá spustit ručně pomocí Plánovače úloh Windows, jiných systémů CI/CD atd.

Vytvoření testovacího prostředí pro továrnu pro image

Prvním krokem při nastavování objektu pro vytváření imagí je vytvoření testovacího prostředí v Azure DevTest Labs. Toto cvičení je testovací prostředí pro vytváření imagí, ve kterém vytváříme virtuální počítače a ukládáme vlastní image. Toto cvičení se považuje za součást celého procesu vytváření imagí. Po vytvoření testovacího prostředí nezapomeňte název uložit, protože ho budete potřebovat později.

Skripty a šablony

Dalším krokem při přechodu na továrnu pro image pro váš tým je pochopení toho, co je k dispozici. Skripty a šablony image factory jsou veřejně dostupné v úložišti DevTest Labs na GitHubu. Tady je přehled částí:

  • Image Factory. Je to kořenová složka.
    • Konfigurace: Vstupy do objektu pro vytváření imagí
      • GoldenImages. Tato složka obsahuje soubory JSON, které představují definice vlastních imagí.
      • Labs.json. Soubor, ve kterém se týmy zaregistrují, aby dostávaly konkrétní vlastní image.
  • Skripty: Modul pro továrnu pro image.

Články v této části obsahují další podrobnosti o těchto skriptech a šablonách.

Vytvoření týmového projektu Azure DevOps

Azure DevOps umožňuje uložit zdrojový kód a spustit Azure PowerShell na jednom místě. Můžete naplánovat opakované spuštění, aby byly obrázky aktuální. Pro diagnostiku jakýchkoli problémů jsou k dispozici dobré možnosti protokolování výsledků. Použití Azure DevOps ale nevyžaduje, můžete použít jakýkoli nástroj nebo modul, který se může připojit k Azure a může spouštět Azure PowerShell.

Pokud máte existující účet Nebo projekt DevOps, který chcete použít, přeskočte tento krok.

Začněte vytvořením bezplatného účtu v Azure DevOps. Navštivte https://www.visualstudio.com/ a vyberte Začít zdarma přímo v Azure DevOps (dříve VSTS). Budete muset zvolit jedinečný název účtu a nezapomeňte spravovat kód pomocí Gitu. Po vytvoření účtu uložte adresu URL do týmového projektu. Tady je ukázková adresa URL: https://<accountname>.visualstudio.com/MyFirstProject.

Vrácení se změnami objektu pro vytváření imagí do Gitu

Všechny powershellové šablony a konfigurace pro objekt pro vytváření imagí se nacházejí ve veřejném úložišti DevTest Labs na GitHubu. Nejrychlejší způsob, jak kód dostat do nového týmového projektu, je importovat úložiště. Import načítá v celém úložišti DevTest Labs (takže získáte další dokumenty a ukázky).

  1. Navštivte projekt Azure DevOps, který jste vytvořili v předchozím kroku (adresa URL vypadá jako https:// accountname.visualstudio.com/MyFirstProject><).

  2. Vyberte Importovat úložiště.

  3. Zadejte adresu URL klonu úložiště DevTest Labs: https://github.com/Azure/azure-devtestlab.

  4. Vyberte Importovat.

    Screenshot that shows Import Git repo.

Pokud se rozhodnete vrátit se změnami jenom to, co je potřeba (soubory objektu pro vytváření imagí), naklonujte úložiště Git podle pokynů a nasdílejte jenom soubory umístěné v adresáři scripts/ImageFactory .

Vytvoření sestavení a připojení k Azure

V tuto chvíli máte zdrojové soubory uložené v úložišti Git v Azure DevOps. Teď musíte nastavit kanál pro spuštění Azure PowerShellu. Tyto kroky můžete provést mnoha způsoby. V tomto článku použijete definici sestavení pro zjednodušení, ale funguje s devOps Buildem, verzí DevOps (jedno nebo více prostředí), jinými prováděcími moduly, jako je Plánovač úloh Systému Windows nebo jakýkoli jiný nástroj, který může spouštět Azure PowerShell.

Poznámka:

Je důležité mít na paměti, že spuštění některých souborů PowerShellu trvá dlouho, když se vytvoří hodně vlastních imagí (10+). Agenti sestavení/verze DevOps, které jsou hostované zdarma, mají časový limit 30 minut, takže po zahájení vytváření mnoha imagí nemůžete použít bezplatného hostovaného agenta. Tento úkol časového limitu platí pro všechny možnosti využití, které se rozhodnete použít, je vhodné předem ověřit, že můžete prodloužit typické časové limity pro dlouho běžící skripty Azure PowerShellu. V případě Azure DevOps můžete použít placené hostované agenty nebo použít vlastního agenta sestavení.

  1. Začněte tak, že na domovské stránce projektu DevOps vyberete Nastavit build :

    Screenshot that shows Set up Build button.

  2. Zadejte název sestavení (například Sestavení a doručování imagí do DevTest Labs).

  3. Vyberte prázdnou definici sestavení a vyberte Použít k vytvoření sestavení.

  4. V této fázi můžete zvolit hostované pro agenta sestavení.

  5. Uložte definici sestavení.

    Screenshot that shows Build definition.

Konfigurace proměnných sestavení

Chcete-li zjednodušit parametry příkazového řádku, zapouzdřte hodnoty klíče, které řídí objekt pro vytváření imagí do sady proměnných sestavení. Vyberte kartu Proměnné a zobrazí se seznam několika výchozích proměnných. Tady je seznam proměnných, které se mají zadat do Azure DevOps:

Název proměnné Hodnota Notes
ConfigurationLocation /Scripts/ImageFactory/Configuration Toto umístění je úplná cesta v úložišti ke složce Konfigurace . Pokud jste naimportovali celé úložiště výše, je hodnota vlevo správná. V opačném případě aktualizujte odkaz na umístění konfigurace.
DevTestLabName MyImageFactory Název testovacího prostředí v Azure DevTest Labs používaný jako továrna k vytváření imagí. Pokud ho nemáte, vytvořte ho. Ujistěte se, že testovací prostředí je ve stejném předplatném, ke kterému má koncový bod služby přístup.
ImageRetention 0 Počet obrázků,kteréch Nastavte výchozí hodnotu na 1.
MachinePassword ******* Předdefinované heslo účtu správce pro virtuální počítače. Tento účet je přechodný, proto se ujistěte, že je zabezpečený. Výběrem malé ikony zámku na pravé straně se ujistěte, že se jedná o zabezpečený řetězec.
Název uživatele počítače ImageFactoryUser Uživatelské jméno předdefinovaných účtů správce pro virtuální počítače. Tento účet je přechodný.
StandardTimeoutMinutes 30 Časový limit bychom měli počkat na běžné operace Azure.
SubscriptionId 0000000000-0000-0000-0000-0000000000000 ID předplatného, ve kterém testovací prostředí existuje a ke kterému má koncový bod služby přístup.
VMSize Standard_A3 Velikost virtuálního počítače, který se má použít pro krok Vytvořit . Vytvořené virtuální počítače jsou přechodné. Velikost musí být ta, která je pro testovací prostředí povolená. Ověřte, že existuje dostatek kvóty jader předplatného.

Screenshot that shows Build variables.

Připojení k Azure

Dalším krokem je nastavení instančního objektu. Instanční objekt je identita v Microsoft Entra ID, která umožňuje agentovi sestavení DevOps provozovat v Azure jménem uživatele. Pokud ho chcete nastavit, začněte přidáním prvního kroku sestavení Azure PowerShellu.

  1. Vyberte Přidat úkol.
  2. Vyhledejte Azure PowerShell.
  3. Jakmile ho najdete, vyberte Přidat a přidejte úkol do sestavení. Když vyberete Přidat, zobrazí se úkol na levé straně jako přidaný.

Screenshot that shows Set up PowerShell step.

Nejrychlejší způsob, jak nastavit instanční objekt, je umožnit Azure DevOps, aby to udělal za vás.

  1. Vyberte úkol, který jste právě přidali.
  2. Jako typ Připojení Azure zvolte Azure Resource Manager.
  3. Vyberte odkaz Spravovat a nastavte instanční objekt.

Další informace najdete v tomto blogovém příspěvku. Když vyberete odkaz Spravovat , přejdete na správné místo v DevOps (druhý snímek obrazovky v blogovém příspěvku) a nastavíte připojení k Azure. Při nastavování připojení nezapomeňte zvolit koncový bod služby Azure Resource Manager.

Dokončení úlohy sestavení

Pokud vyberete úlohu sestavení, zobrazí se všechny podrobnosti v pravém podokně, které by se měly vyplnit.

  1. Nejprve pojmenujte úlohu sestavení: Vytvoření virtuálních počítačů.

  2. Zvolte instanční objekt, který jste vytvořili, a to výběrem Azure Resource Manageru.

  3. Zvolte koncový bod služby.

  4. V cestě skriptu vyberte ... (tři tečky) na pravé straně.

  5. Přejděte do skriptu MakeGoldenImageVMs.ps1 .

  6. Parametry skriptu by měly vypadat takto: -ConfigurationLocation $(System.DefaultWorkingDirectory)$(ConfigurationLocation) -DevTestLabName $(DevTestLabName) -vmSize $(VMSize) -machineUserName $(MachineUserName) -machinePassword (ConvertTo-SecureString -string '$(MachinePassword)' -AsPlainText -Force) -StandardTimeoutMinutes $(StandardTimeoutMinutes)

    Screenshot that shows Complete the build definition.

Zařadí sestavení do fronty

Pojďme ověřit, že máte všechno správně nastavené tak, že zařídíte frontu nového sestavení. V době, kdy je sestavení spuštěné, přepněte na web Azure Portal a v testovacím prostředí pro vytváření imagí vyberte všechny virtuální počítače , abyste ověřili, že všechno funguje správně. V testovacím prostředí by se měly vytvořit tři virtuální počítače.

VMs in the lab

Další kroky

První krok při nastavování objektu pro vytváření imagí na základě Azure DevTest Labs je hotový. V dalším článku série získáte zobecněné virtuální počítače a uložíte je do vlastních imagí. Pak je máte distribuované do všech ostatních testovacích prostředí. Podívejte se na další článek série: Ukládání vlastních imagí a distribuce do několika testovacích prostředí.