Condividi tramite


Creare una factory di immagini personalizzata in Azure DevTest Labs

Questo articolo illustra come configurare una factory di immagini personalizzata usando script di esempio disponibili nel repository Git.

Che cos'è una factory di immagini?

Una factory di immagini è una soluzione di configurazione come codice che compila e distribuisce automaticamente le immagini con tutte le configurazioni desiderate. Le immagini nella factory di immagini sono sempre aggiornate e la manutenzione in corso è quasi zero una volta che l'intero processo viene automatizzato. Inoltre, poiché tutte le configurazioni necessarie sono già presenti nell'immagine, consente di risparmiare tempo dalla configurazione manuale del sistema dopo la creazione di una macchina virtuale con il sistema operativo di base.

L'acceleratore significativo per ottenere uno stato pronto per il desktop dello sviluppatore in DevTest Labs usa immagini personalizzate. Lo svantaggio delle immagini personalizzate è che c'è qualcosa in più da gestire nel lab. Ad esempio, le versioni di valutazione dei prodotti scadono nel tempo (o) gli aggiornamenti della sicurezza appena rilasciati non vengono applicati, che forzano l'aggiornamento periodico dell'immagine personalizzata. Con una factory di immagini, è disponibile una definizione dell'immagine archiviata nel controllo del codice sorgente e un processo automatizzato per produrre immagini personalizzate in base alla definizione.

La soluzione consente la velocità di creazione di macchine virtuali da immagini personalizzate, eliminando al tempo stesso costi di manutenzione in corso aggiuntivi. Con questa soluzione, è possibile creare automaticamente immagini personalizzate, distribuirle ad altri DevTest Labs e ritirare le immagini precedenti. Tutti gli script di Azure PowerShell sono disponibili liberamente e disponibili qui: https://aka.ms/dtlimagefactory.


Visualizzazione generale della soluzione

La soluzione consente la velocità di creazione di macchine virtuali da immagini personalizzate, eliminando al tempo stesso costi di manutenzione in corso aggiuntivi. Con questa soluzione, è possibile creare automaticamente immagini personalizzate e distribuirle ad altri DevTest Labs. Azure DevOps (in precedenza Visual Studio Team Services) viene usato come motore di orchestrazione per automatizzare tutte le operazioni in DevTest Labs.

High-level view of the solution.

È disponibile un'estensione VSTS per DevTest Labs che consente di eseguire questi singoli passaggi:

  • Creare un'immagine personalizzata
  • Creare una macchina virtuale
  • Eliminare una macchina virtuale
  • Creare un ambiente
  • Elimina ambiente
  • Popolare l'ambiente

L'uso dell'estensione DevTest Labs è un modo semplice per iniziare a creare automaticamente immagini personalizzate in DevTest Labs.

Esiste un'implementazione alternativa usando lo script di PowerShell per uno scenario più complesso. Con PowerShell è possibile automatizzare completamente una factory di immagini basata su DevTest Labs che può essere usata nella toolchain di integrazione continua e recapito continuo (CI/CD). I principi seguiti in questa soluzione alternativa sono:

  • Gli aggiornamenti comuni non devono richiedere modifiche alla factory dell'immagine. Ad esempio, aggiungendo un nuovo tipo di immagine personalizzata, ritirando automaticamente le immagini precedenti, aggiungendo un nuovo devTest Labs "endpoint" per ricevere immagini personalizzate e così via.
  • Le modifiche comuni sono supportate dal controllo del codice sorgente (infrastruttura come codice)
  • DevTest Labs che riceve immagini personalizzate potrebbe non trovarsi nella stessa sottoscrizione di Azure (i lab si estendono su sottoscrizioni)
  • Gli script di PowerShell devono essere riutilizzabili in modo da poter creare più factory in base alle esigenze

Passaggi successivi

Passare all'articolo successivo in questa sezione: Eseguire una factory di immagini da Azure DevOps.