Delen via


Aangepaste installatiekopieën opslaan en distribueren naar meerdere labs

Dit artikel bevat de stappen voor het opslaan van aangepaste installatiekopieën van de al gemaakte virtuele machines (VM's). Ook wordt beschreven hoe u deze aangepaste installatiekopieën distribueert naar andere DevTest Labs in de organisatie.

Vereisten

De volgende items moeten al aanwezig zijn:

  • Een lab voor de Installatiekopieënfactory in Azure DevTest Labs.
  • Een Azure DevOps-project dat wordt gebruikt om de installatiekopieënfactory te automatiseren.
  • De locatie van de broncode met de scripts en configuratie (in ons voorbeeld in hetzelfde DevOps-project dat in de vorige stap is vermeld).
  • Bouw een definitie om de Azure PowerShell taken te organiseren.

Volg indien nodig de stappen in Een installatiekopieënfactory uitvoeren vanuit Azure DevOps om deze items te maken of in te stellen.

VM's opslaan als gegeneraliseerde VHD's

Sla de bestaande VM's op als gegeneraliseerde VHD's. Er is een PowerShell-voorbeeldscript om de bestaande VM's op te slaan als gegeneraliseerde VHD's. Als u deze wilt gebruiken, voegt u eerst een andere Azure PowerShell-taak toe aan de build-definitie, zoals wordt weergegeven in de volgende afbeelding:

Stap Azure PowerShell toevoegen

Zodra u de nieuwe taak in de lijst hebt, selecteert u het item zodat we alle details kunnen invullen, zoals wordt weergegeven in de volgende afbeelding:

PowerShell-instellingen

Gegeneraliseerde versus gespecialiseerde aangepaste installatiekopieën

In de Azure Portal kunt u bij het maken van een aangepaste installatiekopieën op basis van een virtuele machine kiezen voor een gegeneraliseerde of een gespecialiseerde aangepaste installatiekopieën.

  • Gespecialiseerde aangepaste installatiekopieën: Sysprep/Deprovision is NIET uitgevoerd op de computer. Dit betekent dat de installatiekopie een exacte kopie is van de besturingssysteemschijf op de bestaande virtuele machine (een momentopname). De nieuwe computer heeft dezelfde bestanden, toepassingen, gebruikersaccounts en computernaam als deze aangepaste installatiekopieën.
  • Gegeneraliseerde aangepaste installatiekopieën: Sysprep/Deprovision is uitgevoerd op de computer. Met dit proces worden gebruikersaccounts verwijderd, de computernaam verwijderd en de hives van het gebruikersregister verwijderd. Het doel is om de installatiekopieën te generaliseren, zodat u deze kunt aanpassen bij het maken van een andere virtuele machine. Wanneer u een virtuele machine generaliseert door sysprep uit te voeren, wordt de huidige virtuele machine vernietigd. De huidige virtuele machine werkt niet meer.

Met het script voor het vastmaken van aangepaste installatiekopieën in Image Factory worden VHD's opgeslagen voor alle virtuele machines die in de vorige stap zijn gemaakt. Het script identificeert de VHD's op basis van een tag op de resource in Azure.

Configuratie bijwerken voor het distribueren van installatiekopieën

De volgende stap in het proces is het pushen van de aangepaste installatiekopieën van het installatiekopieën factory-lab naar andere labs die ze nodig hebben. Het kernonderdeel van dit proces is het configuratiebestand labs.json . U vindt dit bestand in de map Configuratie die is opgenomen in de installatiekopieënfactory.

Er worden twee belangrijke dingen vermeld in het configuratiebestand labs.json:

  • Unieke identificatie van een specifiek doellab met behulp van de abonnements-id en de naam van het lab.
  • De specifieke set installatiekopieën die naar het lab moeten worden gepusht als relatieve paden naar de hoofdmap van de configuratie. U kunt ook de hele map opgeven (om alle afbeeldingen in die map op te halen).

Hier volgt een voorbeeld van een labs.json-bestand met twee labs in de lijst. In dit geval distribueert u afbeeldingen naar twee verschillende labs.

{
   "Labs": [
      {
         "SubscriptionId": "<subscription ID that contains the lab>",
         "LabName": "<Name of the DevTest Lab>",
         "ImagePaths": [
               "Win2012R2",
               "Win2016/Datacenter.json"
         ]
      },
      {
         "SubscriptionId": "<subscription ID that contains the lab>",
         "LabName": "<Name of the DevTest Lab>",
         "ImagePaths": [
               "Win2016/Datacenter.json"
         ]
      }
   ]
}

Een build-taak maken

Gebruik dezelfde stappen als eerder in dit artikel om een Azure PowerShell build-taak toe te voegen aan uw builddefinitie. Vul de details in zoals weergegeven in de volgende afbeelding:

Schermopname van een build-taak voor het distribueren van installatiekopieën.

De parameters zijn: -ConfigurationLocation $(System.DefaultWorkingDirectory)$(ConfigurationLocation) -SubscriptionId $(SubscriptionId) -DevTestLabName $(DevTestLabName) -maxConcurrentJobs 20

Deze taak neemt alle aangepaste installatiekopieën die aanwezig zijn in de installatiekopieënfactory en pusht deze naar alle labs die zijn gedefinieerd in het labs.json-bestand.

De build in de wachtrij plaatsen

Zodra de distributie-buildtaak is voltooid, zet u een nieuwe build in de wachtrij om ervoor te zorgen dat alles werkt. Nadat de build is voltooid, worden de nieuwe aangepaste installatiekopieën weergegeven in het doellab dat u hebt ingevoerd in het configuratiebestand Labs.json.

Volgende stappen

In het volgende artikel in de reeks werkt u de installatiekopieënfactory bij met een bewaarbeleid en opschoningsstappen: Bewaarbeleid instellen en opschoningsscripts uitvoeren.