Dela via


Spara anpassade avbildningar och distribuera till flera labb

Den här artikeln beskriver hur du sparar anpassade avbildningar från de virtuella datorer som redan har skapats. Den beskriver också hur du distribuerar dessa anpassade avbildningar till andra DevTest Labs i organisationen.

Förutsättningar

Följande objekt bör redan vara på plats:

  • Ett labb för Image Factory i Azure DevTest Labs.
  • Ett Azure DevOps-projekt som används för att automatisera avbildningsfabriken.
  • Källkodsplats som innehåller skript och konfiguration (i vårt exempel i samma DevOps-projekt som nämndes i föregående steg).
  • Skapa definition för att samordna Azure PowerShell uppgifter.

Om det behövs följer du stegen i Kör en avbildningsfabrik från Azure DevOps för att skapa eller konfigurera dessa objekt.

Spara virtuella datorer som generaliserade virtuella hårddiskar

Spara de befintliga virtuella datorerna som generaliserade virtuella hårddiskar. Det finns ett PowerShell-exempelskript för att spara de befintliga virtuella datorerna som generaliserade virtuella hårddiskar. Om du vill använda den lägger du först till ytterligare en Azure PowerShell uppgift i versionsdefinitionen enligt följande bild:

Lägg till Azure PowerShell steg

När du har den nya uppgiften i listan väljer du objektet så att vi kan fylla i all information enligt följande bild:

PowerShell-inställningar

Generaliserade jämfört med specialiserade anpassade avbildningar

När du skapar en anpassad avbildning från en virtuell dator i Azure Portal kan du välja att ha en generaliserad eller specialiserad anpassad avbildning.

  • Specialiserad anpassad avbildning: Sysprep/Deprovision kördes INTE på datorn. Det innebär att avbildningen är en exakt kopia av OS-disken på den befintliga virtuella datorn (en ögonblicksbild). Den nya datorn har samma filer, program, användarkonton och datornamn som den här anpassade avbildningen.
  • Generaliserad anpassad avbildning: Sysprep/Deprovision kördes på datorn. Den här processen tar bort användarkonton, tar bort datornamnet och tar bort användarregisterdatafilerna. Målet är att generalisera avbildningen så att du kan anpassa den när du skapar en annan virtuell dator. När du generaliserar en virtuell dator genom att köra sysprep förstör processen den aktuella virtuella datorn. Den aktuella virtuella datorn fungerar inte längre.

Skriptet för att fästa anpassade avbildningar i Image Factory sparar virtuella hårddiskar för virtuella datorer som skapades i föregående steg. Skriptet identifierar de virtuella hårddiskarna baserat på en tagg på resursen i Azure.

Uppdatera konfigurationen för att distribuera avbildningar

Nästa steg i processen är att push-överföra anpassade avbildningar från avbildningsfabrikslabbet till andra labb som behöver dem. Kärnan i den här processen är konfigurationsfilen labs.json . Du hittar den här filen i mappen Konfiguration som ingår i avbildningsfabriken.

Det finns två viktiga saker i konfigurationsfilen labs.json:

  • Unikt identifiera ett specifikt mållabb med hjälp av prenumerations-ID:t och labbnamnet.
  • Den specifika uppsättning avbildningar som ska skickas till labbet som relativa sökvägar till konfigurationsroten. Du kan också ange hela mappen (för att hämta alla bilder i mappen).

Här är ett exempel på en labs.json-fil med två labb i listan. I det här fallet distribuerar du avbildningar till två olika labb.

{
   "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"
         ]
      }
   ]
}

Skapa en versionsuppgift

Med samma steg som tidigare i den här artikeln lägger du till en Azure PowerShell build-uppgift i din versionsdefinition. Fyll i informationen enligt följande bild:

Skärmbild av en bygguppgift för att distribuera avbildningar.

Parametrarna är: -ConfigurationLocation $(System.DefaultWorkingDirectory)$(ConfigurationLocation) -SubscriptionId $(SubscriptionId) -DevTestLabName $(DevTestLabName) -maxConcurrentJobs 20

Den här uppgiften tar alla anpassade avbildningar som finns i avbildningsfabriken och push-överför dem till alla labb som definierats i filen Labs.json.

Köa bygget

När distributionsgenereringsuppgiften är klar köar du en ny version för att kontrollera att allt fungerar. När bygget har slutförts visas de nya anpassade avbildningarna i mållabbet som du angav i konfigurationsfilen Labs.json.

Nästa steg

I nästa artikel i serien uppdaterar du avbildningsfabriken med en kvarhållningsprincip och rensningssteg: Ange kvarhållningsprincip och kör rensningsskript.