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.
Caratteristica / Funzionalità Personalizzazioni del team Personalizzazioni utente
Configura in Pool macchine di sviluppo Dev Box
Le personalizzazioni si applicano a Tutte le macchine di sviluppo nel pool Macchina di sviluppo singola
Facilmente condivisibile NO
Nome del file di personalizzazioni imagedefinition.yaml myfilename.yaml
Originato da Catalogo o repository personale Caricato o proveniente dal repository personale
Supporta i segreti dell'insieme di credenziali delle chiavi

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.

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.

Configurare Dev Box per le personalizzazioni del team

Per configurare Dev Box per supportare le personalizzazioni del team, seguire questa procedura:

  1. Configurare il dev center:
    1. Abilitare i cataloghi a livello di progetto.
    2. Assegnare le autorizzazioni per gli amministratori del progetto.
  2. Decidere se usare un catalogo con componenti riutilizzabili personalizzati:
    • Predefinito (fornito dalla piattaforma):
      1. Usare le attività predefinite di PowerShell o WinGet (inizia con ~/). È consigliabile iniziare con le attività predefinite.
    • Catalogo personale:
      1. Host in Azure Repos o GitHub.
      2. Aggiungere attività.
      3. Collegarsi a un dev center.
  3. Creare un file di personalizzazione YAML denominato imagedefinition.yaml.
  4. Specificare un'immagine in un pool di macchine di sviluppo:
    1. Creare o modificare un pool di macchine di sviluppo.
    2. Specificare imagedefinition.yaml come definizione dell'immagine.
  5. Scegliere come usare la definizione dell'immagine:
    • Eseguire le attività nella definizione dell'immagine al momento della creazione di ogni macchina di sviluppo.
    • Ottimizzare la definizione dell'immagine in un'immagine personalizzata.
  6. Creare la macchina di sviluppo dal pool configurato usando il portale per sviluppatori.

Per altre informazioni sulla personalizzazione del team e sulla scrittura di definizioni di immagini, vedere Configurare le personalizzazioni del team. Per informazioni su come ottimizzare la definizione dell'immagine in un'immagine personalizzata, vedere Configurare l'immagine di Dev Center.