Aggiungere e configurare un catalogo da GitHub o Azure Repos
Questo articolo spiega come aggiungere e configurare un catalogo per il dev center o il progetto di Ambienti di distribuzione di Azure.
I cataloghi consentono di fornire un set di modelli di infrastruttura come codice (IaC) curati, noti come definizioni di ambiente per i team di sviluppo per creare ambienti. È possibile collegare il proprio repository di controllo del codice sorgente da GitHub o Azure Repos come catalogo e specificare la cartella con le definizioni dell'ambiente. Ambienti di distribuzione analizza la cartella per cercare le definizioni di ambiente e le rende disponibili ai team di sviluppo per la creazione di ambienti.
Per proteggere ulteriormente i modelli, il catalogo viene crittografato. Ambienti di distribuzione di Azure 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.
Microsoft offre un catalogo di guide introduttive che è possibile aggiungere al dev center o al progetto e un catalogo di esempio che è possibile usare come repository. È anche possibile usare il proprio repository privato oppure è possibile creare una copia tramite fork e personalizzare le definizioni di ambiente nel catalogo di esempio.
In questo articolo vengono illustrate le operazioni seguenti:
- Configurare i cataloghi a livello di progetto
- Configurare un'identità gestita
- Aggiungere un catalogo da Azure Repos o da GitHub
- Aggiornare un catalogo
- Eliminare un catalogo
- Risolvere gli errori di sincronizzazione del catalogo
Configurare i cataloghi a livello di progetto
L'associazione di cataloghi a livello di progetto consente ai tecnici della piattaforma di fornire definizioni di ambiente curate specifiche per i team di sviluppo. Inoltre, consente ai responsabili del team di sviluppo assegnati come amministratori di progetto di gestire le definizioni di ambiente rese disponibili ai team.
I tecnici della piattaforma hanno il controllo completo sull'uso dei cataloghi a livello di progetto. L'uso dei 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, come le definizioni di ambiente, 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 ambiente 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. In secondo luogo, è necessario abilitare l'uso delle definizioni di ambiente a livello di progetto.
Per abilitare l'uso di cataloghi a livello di progetto a livello di dev center:
Nel portale di Azure passare al dev center.
Nel menu di sinistra, in Impostazioni, selezionare Configurazione.
Nel riquadro Cataloghi a livello di progetto selezionare Abilita cataloghi per progetto, quindi selezionare Applica.
In secondo luogo, è necessario abilitare le definizioni di ambiente nel progetto.
Nel portale di Azure passare al progetto.
Nel menu a sinistra, in Impostazioni selezionare Cataloghi.
Nella pagina Cataloghi selezionare Autorizzazioni per gli elementi del catalogo.
Nel riquadro Impostazioni degli elementi del catalogo selezionare Definizioni di ambiente di distribuzione di Azure per abilitare l'uso delle definizioni di ambiente a livello di progetto.
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.
- Repository Azure Repos con un'identità del servizio gestita
- Repository Azure Repos con un token di accesso personale
- App DevCenter del repository GitHub
- Repository GitHub con un token di accesso personale
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.
Accedere all'Organizzazione di Azure DevOps.
Nota
L'organizzazione di Azure DevOps deve trovarsi nella stessa directory della sottoscrizione di Azure che contiene il dev center o il progetto.
Seleziona Impostazioni organizzazione.
Nella pagina Panoramica selezionare Utenti.
Nella pagina Utenti selezionare Aggiungi utenti.
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.
Aggiungere il repository come catalogo
Ambienti di distribuzione di Azure supporta l'associazione di repository Azure Repos e repository GitHub. È possibile archiviare un set di modelli IaC curati in un repository. L'associazione del repository a un dev center o a un progetto come catalogo consente ai team di sviluppo di accedere ai modelli e di creare rapidamente ambienti coerenti.
La procedura seguente consente di associare un repository Azure Repos.
Nel portale di Azure passare al dev center o al progetto.
Nel menu a sinistra in Configurazione dell'ambiente selezionare Cataloghi e quindi selezionare Aggiungi.
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. Azienda Selezionare l'organizzazione di Azure DevOps. Progetto Nell'elenco dei progetti selezionare il progetto in cui è archiviato il repository. Repository 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. 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.
Nel menu a sinistra del dev center o del progetto, in Configurazione dell'ambiente selezionare Cataloghi.
Nel riquadro Cataloghi selezionare il nome del catalogo.
Viene visualizzato un elenco di elementi del catalogo sincronizzati correttamente.
Aggiornare un catalogo
Se si aggiorna il contenuto della definizione o del modello nel repository associato, è possibile fornire il set più recente di definizioni di ambiente ai team di sviluppo sincronizzando il catalogo. È possibile sincronizzare un catalogo manualmente o automaticamente.
Sincronizzare manualmente un catalogo
Quando si sincronizza manualmente un catalogo, Ambienti di distribuzione analizza il repository e rende disponibile l'elenco più recente di definizioni di ambiente a tutti i progetti associati nel dev center.
Nel menu a sinistra del dev center, in Configurazione dell'ambiente selezionare Cataloghi.
Selezionare il catalogo specifico e quindi nella barra dei comandi selezionare Sincronizza.
Sincronizzare automaticamente un catalogo
Quando si configura un catalogo per la sincronizzazione automatica, Ambienti di distribuzione analizza il repository ogni 30 minuti e rende disponibile l'elenco più recente di definizioni di ambiente a tutti i progetti associati nel dev center.
Nel menu a sinistra del dev center o del progetto, in Configurazione dell'ambiente selezionare Cataloghi.
Selezionare il catalogo specifico e quindi selezionare Modifica.
Nel riquadro Modifica catalogo selezionare Sincronizza automaticamente il catalogo e quindi selezionare Salva.
Se una sincronizzazione automatica ha esito negativo, è necessario eseguire una sincronizzazione manuale. Gli ambienti di distribuzione non effettuano 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 di Ambienti di distribuzione di Azure. I modelli in un catalogo eliminato non sono disponibili per i team di sviluppo quando distribuiscono nuovi ambienti. Aggiornare il riferimento alle definizioni di ambiente per tutti gli ambienti esistenti creati usando le definizioni di ambiente nel catalogo eliminato. Se il riferimento non viene aggiornato e l'ambiente viene ridistribuito, la distribuzione non riesce.
Per eliminare un catalogo:
Nel menu a sinistra del dev center o del progetto, in Configurazione dell'ambiente selezionare Cataloghi.
Selezionare il catalogo specifico e quindi selezionare Elimina.
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 dello stato apre un riquadro che mostra lo stato di sincronizzazione, il numero di definizioni di ambiente aggiunte e il numero di definizioni di ambiente ignorate o non riuscite.
Visualizzare gli errori di sincronizzazione del catalogo
Nel menu a sinistra del dev center o del progetto, in Configurazione dell'ambiente selezionare Cataloghi.
Nella colonna Stato selezionare il collegamento dello stato del catalogo la cui sincronizzazione non è riuscita.
Viene visualizzato un riquadro dei dettagli che mostra le modifiche dell'ultima sincronizzazione, il numero di errori di sincronizzazione e il tipo di errori.
Visualizzare gli avvisi di sincronizzazione del catalogo
Nel menu a sinistra del dev center o del progetto, in Configurazione dell'ambiente selezionare Cataloghi.
Nella colonna Stato selezionare il collegamento dello stato del catalogo sincronizzato ma che segnala un avviso.
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.
È possibile visualizzare gli elementi sincronizzati correttamente da un catalogo che segnala anche errori di sincronizzazione. Nel riquadro Cataloghi selezionare il nome del catalogo.
Viene visualizzato un elenco di 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 ambiente ignorate rilevate come duplicati.
- Definizioni di ambiente non valide che hanno avuto esito negativo a causa di errori di schema, riferimento o convalida.
Risolvere gli errori di definizioni di ambiente ignorate
Se si aggiungono due o più definizioni di ambiente con lo stesso nome, si verifica un errore di definizioni di ambiente ignorate. È possibile risolvere questo problema rinominando le definizioni di ambiente 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, cioè i caratteri alfanumerici e questi simboli:
~
!
,
.
'
;
:
=
-
_
+
(
)
*
&
$
@
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.