Condividi tramite


Aggiungere e gestire cataloghi in Microsoft Dev Box

Questo articolo illustra come aggiungere e configurare un catalogo per il dev center o il progetto di Microsoft Dev Box.

I cataloghi consentono di fornire un set di definizioni di immagini curate per i team di sviluppo per creare caselle di sviluppo pronte per il codice. È possibile collegare il proprio repository di gestione del codice sorgente da GitHub o Azure Repos come un catalogo.

Per proteggere ulteriormente i modelli, il catalogo viene crittografato; Dev Box supporta la crittografia dei dati inattivi con chiavi di crittografia gestite dalla piattaforma, gestite da Microsoft per i servizi di Azure.

  • Per informazioni su come ospitare un repository in GitHub, vedere Introduzione a GitHub.
  • Per informazioni su come ospitare un repository Git in un progetto Azure Repos, vedere Azure Repos.

Configurare i cataloghi a livello di progetto

Il collegamento di cataloghi a livello di progetto consente ai tecnici della piattaforma di fornire definizioni di immagine specifiche per ogni team di sviluppo. Inoltre, consente ai responsabili del team di sviluppo assegnati come amministratori del progetto di gestire le definizioni di immagine rese disponibili ai team.

I tecnici della piattaforma hanno il controllo completo sull'uso dei cataloghi a livello di progetto. L'uso di cataloghi a livello di progetto deve essere abilitato a livello di dev center prima che un catalogo possa essere aggiunto a un progetto. I tecnici della piattaforma possono anche configurare i tipi di elementi dei cataloghi, ad esempio le definizioni di immagini, che possono essere utilizzati a livello di progetto.

Per impostazione predefinita, l'uso dei cataloghi a livello di progetto è disabilitato e nessuno dei tipi di elementi del catalogo è abilitato. Le definizioni di ambiente di un catalogo a livello di progetto sono sincronizzate e utilizzabili in due condizioni. Prima di tutto, è necessario abilitare cataloghi basati su progetti a livello di dev center corrispondente. In secondo luogo, è necessario abilitare l'uso delle definizioni di immagine per il progetto.

Aggiungere un catalogo a un progetto

Per poter aggiungere un catalogo a un progetto, è necessario prima abilitare i cataloghi a livello di progetto a livello di dev center. È anche consigliabile abilitare l'uso delle definizioni di immagine a livello di progetto.

Per abilitare l'uso di 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 che mostra le impostazioni di Dev Center, con Abilita cataloghi per ogni progetto selezionato e evidenziato.

Per abilitare l'uso delle definizioni di immagine nel progetto:

  1. Nel portale di Azure passare al progetto.

  2. Nel menu a sinistra, in Impostazioni selezionare Cataloghi.

    Screenshot che mostra la pagina di panoramica di un progetto con l’opzione Cataloghi evidenziata.

  3. Nella pagina Cataloghi selezionare Sincronizza impostazioni.

    Screenshot che mostra il riquadro Cataloghi con le impostazioni di sincronizzazione evidenziate.

  4. Nel riquadro Impostazioni di sincronizzazione selezionareDefinizioni di immagine per abilitare l'uso delle definizioni di immagine a livello di progetto.

    Screenshot che mostra il riquadro delle impostazioni di sincronizzazione con le definizioni delle immagini selezionate.

Ora è possibile aggiungere un catalogo al progetto.

Per i cataloghi che usano un'identità gestita o un token di accesso personale (PAT) per l'autenticazione, è necessario assegnare un'identità gestita per il progetto. Per i cataloghi che usano un token di accesso personale, è necessario archiviare il token di accesso personale in un insieme di credenziali delle chiavi e concedere all'identità gestita l'accesso al segreto dell'insieme di credenziali delle chiavi.

Configurare un'identità gestita

Prima di poter collegare un catalogo a un dev center o a un progetto, è necessario configurare un'identità gestita, detta anche identità del servizio gestita. È possibile associare un'identità gestita assegnata dal sistema (identità del servizio gestita assegnata dal sistema) o un'identità gestita assegnata dall'utente (identità del servizio gestita assegnata dall'utente). Si assegnano quindi ruoli all'identità gestita per consentire al dev center o al progetto di creare tipi di ambiente nella sottoscrizione e leggere il progetto Azure Repos che contiene il repository del catalogo.

Se al dev center o al progetto non è associata un'identità del servizio gestita, seguire i passaggi descritti in Configurare un'identità gestita per crearne una e assegnare i ruoli per l'identità gestita.

Per altre informazioni sulle identità gestite, vedere Informazioni sulle identità gestite per le risorse di Azure.

Aggiungere un catalogo

È possibile aggiungere un catalogo da un repository Azure Repos o da un repository GitHub. È possibile scegliere di eseguire l'autenticazione assegnando autorizzazioni a un'identità del servizio gestita o usando un token di accesso personale archiviato in un insieme di credenziali delle chiavi.

Selezionare la scheda per il tipo di repository e l'autenticazione da usare.

Per aggiungere un catalogo, completare le attività seguenti:

  • Assegnare le autorizzazioni in Azure Repos per l'identità gestita.
  • Aggiungere il repository come catalogo.

Assegnare le autorizzazioni in Azure Repos per l'identità gestita

È necessario concedere all'identità gestita le autorizzazioni per il repository in Azure Repos.

  1. Accedere all'Organizzazione di Azure DevOps.

    Annotazioni

    L'organizzazione di Azure DevOps deve trovarsi nella stessa directory della sottoscrizione di Azure che contiene il dev center o il progetto.

  2. Seleziona Impostazioni organizzazione.

    Screenshot che mostra la pagina dell'organizzazione di Azure DevOps con l'opzione Impostazioni organizzazione evidenziata.

  3. Nella pagina Panoramica selezionare Utenti.

    Screenshot che mostra la pagina di panoramica dell'organizzazione con l'opzione Utenti evidenziata.

  4. Nella pagina Utenti selezionare Aggiungi utenti.

    Screenshot che mostra la pagina Utenti con l'opzione Aggiungi utenti evidenziata.

  5. Completare Aggiungi nuovi utenti immettendo o selezionando le informazioni seguenti e quindi selezionare Aggiungi:

    Nome Valore
    Utenti o Entità servizio Immettere il nome del dev center o del progetto.
    Quando si usa un'identità del servizio gestita assegnata dal sistema, specificare il nome del dev center o del progetto, non l'ID oggetto dell'account gestito. Quando si usa un'identità del servizio gestita assegnata dall'utente, usare il nome dell'account gestito.
    livello di accesso Selezionare Basic.
    Aggiungi a progetti Selezionare il progetto che contiene il repository.
    Gruppi di Azure DevOps Selezionare Lettori di progetto.
    Inviare inviti tramite posta elettronica (solo agli utenti) Deselezionare la casella di controllo.

    Screenshot che mostra l'opzione Aggiungi utenti, con voci di esempio e il pulsante Aggiungi evidenziato.

Aggiungere il repository come catalogo

Dev Box supporta il collegamento di repository Repos di Azure e repository GitHub. È possibile archiviare un set di modelli IaC curati in un repository. Il collegamento del repository a un dev center o a un progetto come catalogo consente ai team di sviluppo di accedere ai modelli e consente loro di creare rapidamente box di sviluppo coerenti.

La procedura seguente consente di associare un repository Azure Repos.

  1. Nel portale di Azure passare al dev center o al progetto.

  2. Nel menu a sinistra in Configurazione dell'ambiente selezionare Cataloghi e quindi selezionare Aggiungi.

    Screenshot che mostra il riquadro Cataloghi.

  3. In Aggiungi catalogo immettere le informazioni seguenti e quindi selezionare Aggiungi:

    Campo Valore
    Nome Immettere un nome per il catalogo.
    Posizione catalogo Selezionare Azure DevOps.
    Tipo di autenticazione Selezionare Identità gestita.
    Organizzazione Selezionare l'organizzazione di Azure DevOps.
    Progetto Nell'elenco dei progetti selezionare il progetto in cui è archiviato il repository.
    Repo Nell'elenco dei repository selezionare il repository da aggiungere.
    Ramo Selezionare il ramo.
    Percorso cartella Dev Box recupera un elenco di cartelle nel ramo. Selezionare la cartella in cui sono archiviati i modelli IaC.

    Screenshot che mostra il riquadro Aggiungi catalogo con voci di esempi e il pulsante Aggiungi evidenziato.

  4. In Cataloghi per il dev center o il progetto verificare che venga visualizzato il catalogo. Quando la connessione ha esito positivo, in Stato viene visualizzato Sincronizzazione riuscita. La prima connessione a un catalogo può richiedere alcuni minuti.

Visualizzare gli elementi del catalogo sincronizzati

Indipendentemente dal tipo di repository usato, è possibile visualizzare gli elementi del catalogo sincronizzati dal catalogo.

  1. Nel menu a sinistra del dev center o del progetto, in Configurazione dell'ambiente selezionare Cataloghi.

  2. Nel riquadro Cataloghi selezionare il nome del catalogo.

    Screenshot che mostra il riquadro Cataloghi con il nome del catalogo associato evidenziato.

  3. Viene visualizzato un elenco di elementi del catalogo sincronizzati correttamente.

    Screenshot che mostra gli elementi del catalogo sincronizzati correttamente dal catalogo associato.

Aggiornare un catalogo

Se si aggiorna il contenuto della definizione o del modello nel repository collegato, è possibile fornire il set più recente di definizioni di immagini ai team di sviluppo sincronizzando il catalogo. È possibile sincronizzare un catalogo manualmente o automaticamente.

Sincronizzare manualmente un catalogo

Quando si sincronizza manualmente un catalogo, Dev Box analizza il repository e rende disponibile l'elenco più recente di definizioni di immagine per tutti i progetti associati nel dev center.

  1. Nel menu a sinistra del dev center, in Configurazione dell'ambiente selezionare Cataloghi.

  2. Selezionare il catalogo specifico e quindi nella barra dei comandi selezionare Sincronizza.

    Screenshot che mostra il pulsante Sincronizza nella barra dei comandi.

Sincronizzare automaticamente un catalogo

Quando si configura un catalogo per la sincronizzazione automatica, Dev Box analizza il repository ogni 30 minuti e rende disponibile l'elenco più recente di definizioni di immagine per tutti i progetti associati nel dev center.

  1. Nel menu a sinistra del dev center o del progetto, in Configurazione dell'ambiente selezionare Cataloghi.

  2. Selezionare il catalogo specifico e quindi selezionare Modifica.

    Screenshot che mostra il pulsante Modifica di un catalogo.

  3. Nel riquadro Modifica catalogo selezionare Sincronizza automaticamente il catalogo e quindi selezionare Salva.

    Screenshot che mostra il riquadro Modifica dettagli per un catalogo, con Sincronizza automaticamente il catalogo evidenziato.

Se una sincronizzazione automatica ha esito negativo, è necessario eseguire una sincronizzazione manuale. Dev Box non esegue ulteriori tentativi di sincronizzazione automatica fino a quando una sincronizzazione manuale non riesce.

Eliminare un catalogo

È possibile eliminare un catalogo per rimuoverlo dal dev center o dal progetto Dev Box. I modelli in un catalogo eliminato non sono disponibili per i team di sviluppo quando distribuiscono nuove finestre di sviluppo. Aggiornare il riferimento alla definizione dell'ambiente per tutte le finestre di sviluppo esistenti create usando le definizioni di immagine nel catalogo eliminato. Se il riferimento non viene aggiornato e l'ambiente viene ridistribuito, la distribuzione non va a buon fine.

Per eliminare un catalogo:

  1. Nel menu a sinistra del dev center o del progetto, in Configurazione dell'ambiente selezionare Cataloghi.

  2. Selezionare il catalogo specifico e quindi selezionare Elimina.

  3. Nella finestra di dialogo Elimina catalogo selezionare Continua per eliminare il catalogo.

Risolvere gli errori di sincronizzazione del catalogo

Quando si aggiunge o si sincronizza un catalogo, è possibile che si verifichi un errore o un avviso di sincronizzazione. Un errore di sincronizzazione indica che la sincronizzazione di un catalogo non è riuscita. Un avviso di sincronizzazione indica che alcuni o tutti gli elementi del catalogo hanno errori. È possibile visualizzare lo stato di sincronizzazione e gli errori nel portale di Azure oppure usare l'interfaccia della riga di comando di Azure e l'API REST per risolvere gli errori.

Visualizzare lo stato di sincronizzazione del catalogo

Nel portale di Azure è possibile ottenere altre informazioni sullo stato di sincronizzazione del catalogo e sugli eventuali avvisi o errori selezionando il collegamento dello stato. Il collegamento di stato apre un riquadro che mostra lo stato di sincronizzazione, il numero di definizioni di immagine aggiunte e il numero di definizioni di immagine ignorate o non riuscite.

Visualizzare gli errori di sincronizzazione del catalogo

  1. Nel menu a sinistra del dev center o del progetto, in Configurazione dell'ambiente selezionare Cataloghi.

  2. Nella colonna Stato selezionare il collegamento dello stato del catalogo la cui sincronizzazione non è riuscita.

    Screenshot che mostra il riquadro Cataloghi, con la sincronizzazione non riuscita evidenziata.

  3. Viene visualizzato un riquadro dei dettagli che mostra le modifiche dell'ultima sincronizzazione, il numero di errori di sincronizzazione e il tipo di errori.

    Screenshot che mostra il riquadro degli errori di sincronizzazione del catalogo.

Visualizzare gli avvisi di sincronizzazione del catalogo

  1. Nel menu a sinistra del dev center o del progetto, in Configurazione dell'ambiente selezionare Cataloghi.

  2. Nella colonna Stato selezionare il collegamento dello stato del catalogo sincronizzato ma che segnala un avviso.

    Screenshot che mostra il riquadro Cataloghi, con Errori in tre elementi evidenziati.

  3. Viene visualizzato un riquadro dei dettagli che mostra le modifiche dell'ultima sincronizzazione, il numero di errori degli elementi e il tipo e l'origine di ogni errore.

    Screenshot che mostra il riquadro degli errori di sincronizzazione del catalogo.

  4. È possibile visualizzare gli elementi sincronizzati correttamente da un catalogo che riporta anche errori di sincronizzazione. Nel riquadro Cataloghi selezionare il nome del catalogo.

    Screenshot che mostra il riquadro Cataloghi con il nome di un catalogo evidenziato.

  5. Viene visualizzato un elenco di elementi del catalogo sincronizzati correttamente.

    Screenshot che mostra gli elementi del catalogo sincronizzati correttamente.

Risolvere gli errori di sincronizzazione del catalogo usando l'interfaccia della riga di comando di Azure

Usare l'interfaccia della riga di comando di Azure o l'API REST per ottenere tramite GET il catalogo. La risposta GET mostra il tipo di errore:

  • Definizioni di immagini ignorate che sono state rilevate come duplicati.
  • Definizioni di immagini non valide che non sono riuscite a causa di errori di schema, di riferimento o di convalida.

Risolvere gli errori di definizioni di ambiente ignorate

Se si aggiungono due o più definizioni di immagine con lo stesso nome, si verifica un errore di definizione dell'ambiente ignorato. È possibile risolvere questo problema rinominando le definizioni di immagine in modo che ogni definizione di ambiente abbia un nome univoco all'interno del catalogo.

Risolvere gli errori di definizioni di ambiente non valide

Un errore di definizioni di ambiente non valide può verificarsi per diversi motivi:

  • Errori dello schema del manifesto. Assicurarsi che il file di ambiente delle definizioni di ambiente corrisponda allo schema richiesto.

  • Errori di convalida. Controllare gli elementi seguenti per risolvere gli errori di convalida:

    • Assicurarsi che il tipo di motore del file di ambiente sia configurato correttamente.
    • Assicurarsi che il nome della definizione di ambiente contenga un numero di caratteri compreso tra 3 e 63.
    • Assicurarsi che il nome della definizione di ambiente includa solo i caratteri validi per un URL, ovvero caratteri alfanumerici e i simboli seguenti: ~!,.';:=-_+()*&$@
  • Errori di riferimento. Assicurarsi che il percorso del modello a cui fa riferimento il file di ambiente sia un percorso relativo valido di un file nel repository.