Condividi tramite


Personalizzazioni del team di Microsoft Dev Box

Le attività iniziali degli sviluppatori in un nuovo progetto o team possono richiedere molto tempo. La funzionalità di personalizzazione del team di Microsoft Dev Box consente di semplificare la configurazione dell'ambiente di sviluppo. Con le personalizzazioni del team, è possibile configurare workstation pronte per il codice con applicazioni, strumenti, repository, librerie di codice, pacchetti e script di compilazione necessari.

È possibile usare le personalizzazioni del team per definire una configurazione di Dev Box condivisa per ognuno dei team di sviluppo senza dover investire nella configurazione di una soluzione di creazione di immagini come Packer o modelli di immagine di macchine virtuali di Azure. Le personalizzazioni dei team offrono un'alternativa leggera che consente ai team di progettazione della piattaforma centrale di delegare la gestione della configurazione di Dev Box ai team che li usano.

Le personalizzazioni del team offrono anche un modo predefinito per ottimizzare le personalizzazioni di Dev Box del team appiattindole in un'immagine personalizzata. Si usa lo stesso file di personalizzazione, senza dover gestire l'infrastruttura aggiunta o gestire i modelli di immagine.

Importante

La funzionalità di personalizzazione del team di Dev Box è attualmente in anteprima. Per altre informazioni sulle anteprime, vedere Condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure. Il documento definisce i termini legali applicabili alle funzionalità di Azure in versione beta, in anteprima o non ancora rilasciate nella disponibilità generale.

Come funzionano le personalizzazioni del team di Dev Box?

Quando si configurano le personalizzazioni del team di Dev Box per l'organizzazione, è essenziale pianificare attentamente e prendere decisioni informate. Il diagramma seguente offre una panoramica del processo ed evidenzia i punti decisionali chiave.

Diagramma che mostra il flusso di lavoro per le personalizzazioni del team di Dev Box, inclusi i passaggi per la pianificazione, la configurazione e la distribuzione delle personalizzazioni.

  • Configurare il dev center:
    • Abilitare cataloghi a livello di progetto.
    • Assegnare le autorizzazioni per gli amministratori del progetto.
  • Decidere se usare un catalogo con componenti riutilizzabili personalizzati:
    • Dev Center:
      • Usare istruzioni PowerShell o WinGet.
    • Catalogo personalizzato:
      • Host in Azure Repos o GitHub.
      • Aggiungere attività.
      • Collegarsi a un dev center o a un progetto.
  • Creare un file di personalizzazione:
    • Creare un file di personalizzazione denominato imagedefinition.yaml.
  • Specificare un'immagine in un pool di box di sviluppo:
    • Creare o modificare un pool di caselle di sviluppo e specificare imagedefinition.yaml come definizione dell'immagine.
  • Scegliere come usare la definizione dell'immagine:
    • Ottimizzare la personalizzazione del team.
    • Compilare ogni volta che si crea una casella di sviluppo.
  • Creare la casella di sviluppo:
    • Creare la casella di sviluppo dal pool configurato usando il portale per sviluppatori.

Che cos'è un file di personalizzazione?

Le personalizzazioni di Dev Box usano un file in formato YAML per specificare un elenco di attività da applicare dal catalogo quando gli sviluppatori creano una casella di sviluppo. Queste attività identificano l'attività del catalogo e forniscono parametri come il nome del software da installare. Il file di personalizzazione viene quindi reso disponibile agli sviluppatori.

È possibile usare i segreti dell'insieme di credenziali delle chiavi di Azure nel file di personalizzazione per clonare i repository privati o con qualsiasi attività personalizzata creata che richiede un token di accesso.

Che cosa sono le attività?

Le attività di personalizzazione di Dev Box sono wrapper per gli script di PowerShell. È possibile usarli per definire componenti riutilizzabili che i team possono usare nelle personalizzazioni. WinGet e PowerShell sono disponibili come attività primitive.

Quando si creano attività, determinare quali di esse devono essere eseguite in un contesto di sistema e quali di esse possono essere eseguite in un contesto utente (dopo l'accesso). Le personalizzazioni del team possono essere eseguite in entrambi i contesti. Le singole personalizzazioni possono essere eseguite solo in un contesto utente.

Differenze tra le personalizzazioni del team e le personalizzazioni individuali

I singoli sviluppatori possono allegare un file di personalizzazione basato su YAML durante la creazione della casella di sviluppo per controllare l'ambiente di sviluppo. Gli sviluppatori devono usare le singole personalizzazioni solo per le impostazioni e le app personali. Le attività specificate nel singolo file di personalizzazione vengono eseguite solo nel contesto utente, dopo l'accesso.

Anche se i team di sviluppatori possono condividere file YAML comuni, questo approccio può essere inefficiente e soggetto a errori. Può anche essere contro i criteri di conformità. Le personalizzazioni del team di Dev Box forniscono un flusso di lavoro per i responsabili del team di sviluppo, gli amministratori del progetto e gli amministratori di Dev Center per preconfigurare i file di personalizzazione nei pool di dev box. In questo modo, uno sviluppatore che crea una casella di sviluppo non deve trovare e caricare un file di personalizzazione.

Termini importanti

Quando si lavora con le personalizzazioni del team di Dev Box, è necessario avere familiarità con i termini chiave seguenti:

  • Catalogo:
    • Archiviato nel repository di codice o in un repository separato di file di personalizzazione.
    • Ospitato in GitHub o Azure Repos.
    • Collegato a un dev center o a un progetto per rendere accessibili le attività al team di sviluppo.
  • Attività:
    • Esegue azioni specifiche, ad esempio l'installazione del software.
    • È costituito da uno o più script di PowerShell e da un file task.yaml.
  • File di personalizzazione:
    • Definisce le attività per le caselle di sviluppo ed è basato su YAML.
    • Fornisce una definizione di immagine quando viene condivisa tra un team specificando l'immagine di base e le opzioni di personalizzazione per una casella di sviluppo.