Condividi tramite


Personalizzazioni di Microsoft Dev Box

Introdurre i sviluppatori a un nuovo progetto o in un nuovo team è spesso complesso e richiede tempo. La funzionalità di personalizzazione di Microsoft Dev Box consente di semplificare la configurazione dell'ambiente di sviluppo. Con le personalizzazioni, è possibile configurare workstation pronte per il codice con le applicazioni, gli strumenti, i repository, le librerie di codice, i pacchetti e gli script di compilazione necessari.

Le personalizzazioni di Dev Box consentono di:

  • Installare gli strumenti e le applicazioni necessari.
  • Applicare i criteri di sicurezza dell'organizzazione.
  • Garantire la coerenza tra le finestre di sviluppo.

Dev Box offre due modi per usare le personalizzazioni:

  • Personalizzazioni del team: consente di creare una configurazione condivisa standard per un team di sviluppatori invece di creare più immagini standard o dorate per i team.
  • Personalizzazioni utente: usate dagli sviluppatori per creare configurazioni per le proprie preferenze personali. Con le personalizzazioni utente, gli sviluppatori possono archiviare le configurazioni nei file ed eseguirle quando creano finestre di sviluppo. Le personalizzazioni offrono coerenza in tutte le caselle di sviluppo.

Scegliere il tipo di personalizzazione corretto

Se vuoi... Utilizzo
Standardizzare gli strumenti per l'intero team Personalizzazioni del team
Applicare le preferenze personali alla casella di sviluppo Personalizzazioni utente
Applicare i criteri di sicurezza tra le finestre di sviluppo Personalizzazioni del team
Installare il software che richiede l'approvazione dell'amministratore Personalizzazioni del team
Installare gli strumenti personali (solo attività approvate) Personalizzazioni utente

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 dev center o da un 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. Gli sviluppatori possono creare file di personalizzazione personalizzati o usare un file di personalizzazione condiviso.

È possibile usare i segreti di Azure Key Vault nel file di personalizzazione per clonare i repository privati. È anche possibile usarli 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. Le attività winGet e PowerShell sono disponibili tramite la piattaforma. È possibile aggiungerne di nuovi tramite un catalogo. Le attività possono essere eseguite in un contesto di sistema o in un contesto utente dopo l'accesso.

  • Gli amministratori del progetto definiscono le personalizzazioni del team, che possono usare attività personalizzate e predefinite.
  • Le personalizzazioni utente possono usare le attività di sistema solo se l'utente è un amministratore o se le attività sono attività personalizzate preapprovate tramite un catalogo. Gli utenti di Dev Box Standard non possono eseguire attività predefinite di PowerShell e WinGet in un contesto di sistema, che impedisce l'escalation dei privilegi.

Quando si creano attività, determinare quali devono essere eseguite in un contesto di sistema e quali possono essere eseguite in un contesto utente dopo l'accesso.

È possibile usare sia attività di sistema che utente nel file di definizione dell’immagine. La sezione attività del file di definizione dell’immagine è suddivisa in attività di sistema e attività utente, che condividono gli stessi parametri in base alle definizioni delle attività nel catalogo.

  • Attività di sistema: queste attività vengono eseguite come LocalSystem durante la fase di provisioning della macchina di sviluppo. Vengono in genere usate per le configurazioni a livello di sistema, ad esempio l’installazione di software o la configurazione delle impostazioni di sistema che richiedono privilegi amministrativi.
  • Attività utente: queste attività vengono eseguite come utente dopo il primo accesso dell’utente alla macchina di sviluppo. Vengono in genere usati per le configurazioni a livello di utente, ad esempio l’installazione di applicazioni specifiche dell'utente o la configurazione delle impostazioni utente nel contesto utente. Ad esempio, gli utenti preferiscono spesso installare Python e Visual Studio Code nel contesto utente anziché a livello di sistema. Inserire le attività WinGet nella sezione userTasks, per ottenere risultati migliori quando non funzionano nelle attività.

Gli utenti standard che configurano le personalizzazioni utente possono usare solo le attività utente. Non possono usare le attività di sistema.

Autorizzazioni per le personalizzazioni

Diverse azioni richiedono ruoli e autorizzazioni diversi. La tabella seguente illustra gli scenari di personalizzazione comuni necessari.

Action Autorizzazione o ruolo
Abilitare cataloghi a livello di progetto per un dev center Tecnico della piattaforma con accesso in scrittura alla sottoscrizione
Abilitare le impostazioni di sincronizzazione del catalogo per un progetto Tecnico della piattaforma con accesso in scrittura alla sottoscrizione
Collegare un catalogo a un progetto Autorizzazioni di amministratore di progetto o collaboratore per il progetto
Creare un file di personalizzazione Nessuno specificato (chiunque può creare un file)
Caricare e applicare un file YAML durante la creazione della finestra di sviluppo Utente Dev Box
Aggiungere attività a un catalogo Autorizzazione per l'aggiunta al repository che ospita il catalogo
Creare, eliminare o aggiornare un pool di box di sviluppo Autorizzazioni di proprietario o collaboratore per una sottoscrizione di Azure, il proprietario di DevCenter o l'amministratore del progetto DevCenter

Differenze tra le personalizzazioni del team e le personalizzazioni degli utenti

Le personalizzazioni del team di Dev Box consentono ai lead del team di sviluppatori e agli amministratori IT di preconfigurare i file di personalizzazione per i pool di dev box. Le personalizzazioni eliminano la necessità per gli sviluppatori di eseguire la configurazione manuale.

È consigliabile usare le personalizzazioni del team per proteggere e standardizzare le distribuzioni di Dev Box per un team. La condivisione di file YAML comuni tra i team di sviluppo può essere inefficiente, causare errori e violare i criteri di conformità.

Oltre alle personalizzazioni del team, i singoli sviluppatori possono caricare un file di personalizzazione quando creano la propria casella di sviluppo per controllare l'ambiente di sviluppo. Gli sviluppatori devono usare le singole personalizzazioni solo per le impostazioni personali e le app.

Come funzionano le personalizzazioni?

Le personalizzazioni del team e le personalizzazioni utente sono entrambi file basati su YAML che specificano un elenco di attività da applicare quando si crea una casella di sviluppo. Selezionare la scheda appropriata per altre informazioni sul funzionamento di ogni tipo di personalizzazione.

Come funzionano le personalizzazioni del team?

È 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 le usano.

Le personalizzazioni del team offrono anche un modo predefinito per ottimizzare le personalizzazioni di Dev Box del team appiattendole in un'immagine personalizzata. Viene usato lo stesso file di personalizzazione senza che sia necessario gestire l'infrastruttura aggiunta o gestire i modelli di immagine.

La configurazione delle personalizzazioni del team di Dev Box per l'organizzazione richiede un'attenta pianificazione e un processo decisionale informato. 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.

Le personalizzazioni del team prevedono questi passaggi generali:

  1. Configurare il dev center e abilitare cataloghi a livello di progetto.
  2. Decidere se usare attività predefinite (WinGet, PowerShell, Git-Clone) o creare attività personalizzate in un catalogo.
  3. Creare un file di definizione dell'immagine (imagedefinition.yaml) che specifica le attività da eseguire.
  4. Collegare il catalogo al progetto e configurare un pool Dev Box per usare la definizione dell'immagine.
  5. Facoltativamente, creare un'immagine riutilizzabile per ottimizzare il tempo di creazione della casella di sviluppo.

Per altre informazioni, vedere Configurare le personalizzazioni del team e Configurare l'immagine di Dev Center.