Condividi tramite


Configurare le personalizzazioni del team

Usare la funzionalità di personalizzazione di Microsoft Dev Box per semplificare la configurazione degli ambienti di sviluppo basati sul cloud. L'avvio di un nuovo progetto o l'inserimento in un nuovo team può essere complicato e richiedere molto tempo. Le personalizzazioni dei team usano un file di definizione dell'immagine (imagedefinition.yaml) per preinstallare gli strumenti, clonare i repository e specificare le impostazioni per ogni macchina di sviluppo in un pool. Con le personalizzazioni dei team, gli amministratori possono fornire workstation pronte per codificare con app, strumenti, repository, librerie di codici, pacchetti e script di compilazione. Questo articolo illustra come creare, testare e modificare un file di definizione di immagine per la macchina di sviluppo in Visual Studio Code.

È possibile usare le personalizzazioni in Dev Box in due modi. Le personalizzazioni dei team creano una configurazione condivisa per un team. Le personalizzazioni utente creano una configurazione personale per un singolo sviluppatore. L'elenco seguente riepiloga le differenze tra questi tipi di personalizzazione.

  • Personalizzazioni dei team: definite una sola volta, applicate a ogni macchina di sviluppo in un pool tramite imagedefinition.yaml in un catalogo.
  • Personalizzazioni utente: YAML personale caricato durante la creazione della macchina; influisce solo su quella macchina.
  • Usare il team per coerenza e conformità; usare l'utente per le preferenze personali.

Per altre informazioni, vedere Personalizzazioni di Microsoft Dev Box.

Configurare le personalizzazioni del team seguendo questa procedura:

Diagramma che mostra il flusso di lavoro in cinque passaggi per le personalizzazioni dei team in Microsoft Dev Box.

Prerequisiti

Prodotto Requisiti
Microsoft Dev Box - Configurare un dev center con un pool di macchine di sviluppo e un progetto Dev Box in modo da poter creare una macchina di sviluppo.
- Collegare un catalogo al dev center con le attività che è possibile usare nel file di definizione dell'immagine. Se non si ha un catalogo, vedere Aggiungere e configurare un catalogo da GitHub o Azure Repos.
-Autorizzazioni
- Per creare una macchina di sviluppo: entrare a far parte del gruppo di sicurezza Utenti di Dev Box per almeno un progetto.
- Per abilitare cataloghi a livello di progetto per un dev center: tecnico della piattaforma con accesso in scrittura alla sottoscrizione.
- Per abilitare le impostazioni di sincronizzazione del catalogo per un progetto: tecnico della piattaforma con accesso in scrittura alla sottoscrizione.
- Per collegare un catalogo a un progetto: autorizzazioni di Amministratore del progetto o Collaboratore di Dev Center per il progetto.
Visual Studio Code - Installare la versione più recente

Creare un file di definizione dell'immagine

Per definire gli strumenti, i pacchetti e le configurazioni necessari per il team, creare un file di definizione dell'immagine in formato YAML che elenca le attività necessarie per l'ambiente della macchina di sviluppo.

Usare attività predefinite o un catalogo per le attività personalizzate

Le attività sono azioni riutilizzabili provenienti da primitive predefinite (WinGet, PowerShell e Git-Clone) o da un catalogo collegato al progetto di dev center. Scegliere l'origine più adatta alle esigenze di personalizzazione e ai requisiti del progetto.

  • Usare attività predefinite WinGet, PowerShell e Git-Clone. I centri di sviluppo di Dev Box supportano le funzionalità di PowerShell e WinGet fin dal primo utilizzo. Se le personalizzazioni richiedono solo PowerShell, WinGet o Git-Clone. è possibile iniziare a usare queste attività predefinite e creare il file di definizione dell'immagine. Per altre informazioni, vedere Creare un file di definizione dell'immagine.

    Importante

    L'attività predefinita WinGet non corrisponde al file eseguibile WinGet. L'attività predefinita WinGet si basa sul cmdlet WinGet di PowerShell.

  • Usare un catalogo per definire attività personalizzate. Creare attività personalizzate. Per rendere disponibili attività personalizzate per l'intera organizzazione, allegare un catalogo con definizioni di attività personalizzate al dev center. Dev Box supporta i cataloghi Di Azure Repos e GitHub. Poiché le attività vengono definite solo nel dev center, archiviare le attività e le definizioni di immagini in repository separati.

    Per altre informazioni sulla definizione di attività personalizzate, vedere Configurare le attività per le personalizzazioni di Dev Box.

Dev Box supporta un flusso di lavoro agentico con la modalità agente di GitHub Copilot. Usare le richieste di linguaggio naturale per generare il file di definizione dell'immagine (imagedefinition.yaml). GitHub Copilot semplifica la configurazione dell'ambiente Dev Box perché si descrivono le proprie esigenze come conversazioni anziché creare manualmente file YAML.

Il flusso di lavoro agentico di Dev Box consente di:

  • Simulare l'ambiente di sviluppo corrente : generare o modificare una definizione corrispondente alla configurazione del computer corrente.
  • Usare il contesto del repository: creare o modificare una definizione nel contesto di un repository GitHub specifico.
  • Usare le istruzioni del linguaggio naturale: generare un file di definizione dell'immagine descrivendo l'ambiente di sviluppo desiderato.

Annotazioni

Il flusso di lavoro agentico supporta solo le attività primitive di Dev Box, tra cui WinGet, PowerShell e Git-Clone.

Generare il file di definizione dell'immagine

  1. Apri Visual Studio Code.

  2. Installare l'estensione Dev Box.

    Aprire Estensioni (Ctrl+MAIUSC+X), cercare Dev Box e installare l'estensione.

    Screenshot del riquadro Estensioni in Visual Studio Code, che mostra l'estensione Dev Box.

  3. Installare l'estensione GitHub Copilot configurata in VS Code.

  4. Assicurarsi che la modalità agente sia abilitata impostando chat.agent.enablednell'Editor impostazioni. Questa impostazione richiede Visual Studio Code 1.99 o versione successiva.

  5. Aprire Copilot Chat in VS Code.

    • Assicurarsi che gli strumenti di Dev Box siano preselezionati in Seleziona strumenti.

      Screenshot del riquadro Copilot Chat in Visual Studio Code, che mostra gli strumenti di Dev Box preselezionati.

      Screenshot dell'interfaccia Copilot Chat in Visual Studio Code.

    • Selezionare Modalità agente e scegliere il modello : Claude 3.5 Sonnet.

      Screenshot della selezione della Modalità agente in Copilot Chat, che mostra il modello Claude 3.5 Sonnet.

  6. Fornire richieste di linguaggio naturale, ad esempio:

    • "Voglio configurare una macchina di sviluppo con tutti gli strumenti e i pacchetti necessari per lavorare su questo repository [nome repository]".

    • "Voglio preinstallare Visual Studio 2022 Enterprise, Visual Studio Code, Git, .NET SDK 8, Node.js LTS e Docker Desktop in una macchina di sviluppo e avere il repository [URL] del team clonato nella macchina di sviluppo".

    • "Voglio configurare una macchina di sviluppo con tutti gli strumenti di sviluppo e i pacchetti installati nel computer corrente".

    Suggerimento

    Clonare e aprire il repository specifico in Visual Studio Code se si vuole generare la definizione nel contesto di un repository.

  7. Seguire le richieste per configurare i pacchetti.

    • Quando richiesto, selezionare Continua per continuare con la configurazione del pacchetto.

    • Copilot genera il file imagedefinition.yaml.

  8. Ridefinire con più richieste.

    • Continuare a interagire con l'agente fino a quando non vengono visualizzati gli strumenti e i pacchetti desiderati nel file.

Caricare il file di definizione dell'immagine in un repository

È possibile usare un repository GitHub o Azure Repos come catalogo per rendere il file di definizione dell'immagine accessibile da un progetto Dev Box. Ogni progetto può avere un catalogo che archivia più file di definizione dell'immagine, che è possibile configurare nei pool per allinearsi alle esigenze dei team di sviluppatori.

Dopo aver creato un file di definizione dell'immagine che si vuole usare, caricarlo in un catalogo. Le sezioni seguenti illustrano come collegare il catalogo a un progetto e rendere disponibile la definizione dell'immagine per la selezione durante la configurazione dei pool di macchine di sviluppo.

Configurare le definizioni delle immagini a livello di progetto

I progetti consentono di gestire le risorse di Dev Box in modo efficiente. È possibile assegnare a ogni team di sviluppo il proprio progetto per organizzare le risorse in modo efficace. Creare più definizioni di immagini nel repository del catalogo, ognuna nella propria cartella per riferirsi a team di sviluppo differenti nel progetto.

Abilitare cataloghi a livello di progetto

Prima di aggiungere un catalogo a un progetto, abilitare i cataloghi a livello di progetto a livello di dev center. Per abilitare cataloghi a livello di progetto a livello di dev center:

  1. Nel portale di Azure, passare al dev center.

  2. Nel menu a sinistra, in Impostazioni, selezionare Impostazioni di Dev Center.

  3. In Cataloghi a livello di progetto selezionare Abilita cataloghi per progetto e quindi selezionare Applica.

    Screenshot della pagina delle impostazioni di Dev Center con il riquadro Cataloghi a livello di progetto aperto e l'opzione Abilita cataloghi per progetto selezionata.

Per altre informazioni su come aggiungere cataloghi ai progetti, vedere Aggiungere e configurare un catalogo da GitHub o Azure Repos.

Configurare le impostazioni di sincronizzazione del catalogo per il progetto

Configurare il progetto per sincronizzare le definizioni delle immagini dal catalogo. Questa impostazione consente di usare le definizioni di immagine nel catalogo per creare pool di macchine di sviluppo.

  1. Accedi al portale di Azure.

  2. Nella casella di ricerca immettere progetti. Nell'elenco dei risultati selezionare Progetti.

  3. Aprire il progetto Dev Box in cui si desidera configurare le impostazioni di sincronizzazione del catalogo.

  4. Selezionare Cataloghi.

  5. Selezionare Sincronizza impostazioni.

    Screenshot del riquadro Cataloghi nel portale di Azure, con il pulsante per le impostazioni di sincronizzazione evidenziate.

  6. Nel riquadro Impostazioni di sincronizzazione, selezionare Definizioni di immagine, quindi selezionare Salva.

    Screenshot del riquadro per le impostazioni di sincronizzazione nel portale di Azure, con la casella di controllo relativa alle definizioni delle immagini evidenziate.

Allegare il catalogo che contiene il file di definizione dell'immagine

Per usare un file di definizione dell'immagine, allegare il catalogo contenente il file al progetto. In questo modo la definizione dell'immagine è disponibile per la selezione durante la configurazione dei pool di macchine di sviluppo.

Nel riquadro Definizioni immagine sono elencate le definizioni di immagine a cui il progetto può usare.

Screenshot del riquadro del portale di Azure che mostra le definizioni di immagine disponibili per un progetto.

Per informazioni su come allegare cataloghi, vedere Aggiungere e configurare un catalogo da GitHub o Azure Repos.

Configurare un pool di macchine di sviluppo per usare una definizione di immagine

Consentire al team di sviluppo di usare le personalizzazioni configurando un pool di macchine di sviluppo con un file di definizione dell'immagine. Archiviare il file di definizione dell'immagine in un repository collegato al progetto come catalogo. Specificare questo file come definizione dell'immagine per il pool e le personalizzazioni si applicano alle nuove macchine di sviluppo.

Seguire questa procedura per creare un pool di macchine di sviluppo e specificare una definizione di immagine:

  1. Accedi al portale di Azure.

  2. Nella casella di ricerca immettere progetti. Nell'elenco dei risultati selezionare Progetti.

  3. Aprire il progetto Dev Box con cui si vuole associare il nuovo pool di macchina di sviluppo.

  4. Selezionare Pool di macchine di sviluppo e quindi selezionare Crea.

  5. Nel riquadro Crea un pool di macchine di sviluppo, immettere i valori seguenti:

    Impostazione Valore
    Nome Immettere un nome per il pool. Il nome del pool è visibile agli sviluppatori quando creano macchine di sviluppo. Il nome deve essere univoco nel progetto.
    Definizione Questa casella elenca le definizioni di immagine da cataloghi accessibili e definizioni di box di sviluppo. Selezionare un file di definizione dell'immagine.
    Connessione di rete Selezionare Distribuisci in una rete ospitata da Microsoft o usare una connessione di rete esistente.
    Abilitare il Single Sign-On Selezionare per consentire l'accesso Single Sign-On per le macchine di sviluppo in questo pool. L'accesso Single Sign-On deve essere configurato per l'organizzazione. Per altre informazioni, vedere Abilitare l'accesso Single Sign-On per le finestre di sviluppo.
    Privilegi di Creatore di macchina di sviluppo Selezionare Amministratore locale o utente standard.
    Abilitare l'arresto automatico è l'impostazione predefinita. Selezionare No per disattivare la pianificazione di arresto automatico. Dopo la creazione del pool, è possibile configurare una pianificazione di arresto automatico.
    Tempo di arresto Selezionare un'ora per arrestare tutte le macchine di sviluppo nel pool.
    Fuso orario Selezionare il fuso orario per l'ora di arresto.
    Licenze Selezionare questa casella di controllo per verificare che l'organizzazione disponga di licenze del Vantaggio Azure Hybrid da applicare alle macchine di sviluppo in questo pool.

    Screenshot che mostra il riquadro per la creazione di un pool di macchine di sviluppo.

  6. Fare clic su Crea.

  7. Verificare che nell'elenco sia visualizzato il nuovo pool di macchine di sviluppo. Potrebbe essere necessario aggiornare la schermata.

Creare una macchina di sviluppo usando il portale per sviluppatori

Per verificare che le personalizzazioni del file di definizione dell'immagine siano applicate, creare una macchina di sviluppo nel portale per sviluppatori di Dev Box. Seguire i passaggi descritti in Avvio rapido: Creare e connettersi a una finestra di sviluppo usando il portale per sviluppatori di Dev Box. Connettersi quindi alla nuova macchina di sviluppo e verificare che le personalizzazioni funzionino come previsto.

Apportare modifiche al file di definizione dell'immagine e creare una nuova macchina di sviluppo per testarle. Quando si è certi che le personalizzazioni siano corrette, creare un'immagine riutilizzabile.

Usare script e file modulari nelle personalizzazioni di Dev Box

Script modulari e file come script di PowerShell, file DSC (Desired State Configuration), file di configurazione, file di testo o immagini possono essere archiviati in un catalogo condiviso in modo da poter riutilizzare e standardizzare le personalizzazioni di Dev Box in più immagini.

Sono progettati per:

  • Promuovere il riutilizzo tra più configurazioni di Dev Box
  • Ridurre il sovraccarico di duplicazione e manutenzione
  • Abilitare procedure di configurazione coerenti

Struttura del catalogo

I file nella stessa cartella dell'oggetto imagedefinition.yaml o nelle relative sottocartelle vengono copiati nella macchina di sviluppo al completamento della creazione. È possibile usare questi file quando si eseguono attività di personalizzazione.

Il diagramma seguente illustra una struttura di catalogo per script e file modulari nelle personalizzazioni di Dev Box.

Diagramma che mostra una struttura del catalogo con una cartella di definizioni di immagine, sottocartelle Frontend-imagedef e backend-imagedef e sottocartelle per script e file.

Al livello superiore è presente una cartella delle definizioni delle immagini . All'interno sono disponibili sottocartelle di definizione dell'immagine, ad esempio frontend-imagedef e backend-imagedef. La cartella front-end-imagedef include un file di script di PowerShell. La cartella backend-imagedef include una sottocartella che contiene file DSC. È possibile usare una delle due strutture per archiviare script e altri file.

Fare riferimento a script o file modulari

Il file di definizione dell'immagine imposta un elenco di attività eseguite nel contesto di sistema e userTasks eseguite dopo il primo accesso nella nuova casella di sviluppo, nel contesto utente. Usare nomi visualizzati per le attività per chiarire lo scopo di ogni attività. Nel file di definizione dell'immagine fare riferimento agli script modulari da eseguire o ai file da includere.


$schema: "1.0"
name: "modular-script"
image: microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win11-m365-gen2
description: "This definition shows examples of referencing PowerShell scripts and DSC configuration files."

tasks:
  - name: ~/powershell
    displayName: "Modular Script"
    parameters:
      script: C:\ProgramData\Microsoft\DevBoxAgent\ImageDefinitions\catalog-name\modular-script\contoso.ps1
  - name: ~/winget
    displayName: "Install VS Code"
    parameters:
      configurationFile: C:\ProgramData\Microsoft\DevBoxAgent\ImageDefinitions\catalog-name\modular-script\contoso.dsc.yaml

userTasks:
  - name: ~/winget
    displayName: "Install Insomnia"
    parameters:
      configurationFile: C:\ProgramData\Microsoft\DevBoxAgent\ImageDefinitions\catalog-name\modular-script\contoso-user.dsc.yaml

Dev Box convalida che tutte le attività facciano riferimento a attività intrinseche (come PowerShell o WinGet) o a una disponibile a livello di DevCenter. Scarica tutti i file di definizione dell'immagine in una directory impostata nella nuova casella di sviluppo, insieme ai file di attività pertinenti. Esegue quindi ogni attività nella directory delle attività scaricata e carica lo stato dell'attività al completamento.

Passo successivo

Ora che hai a disposizione un file di definizione dell'immagine che configura e crea caselle di sviluppo per il team di sviluppo, scopri come ottimizzare il tempo di creazione delle caselle di sviluppo con l'imaging del Dev Center.