Introduzione
Si supponga di lavorare come software engineer per un rivenditore online di abbigliamento all'aperto. L'utente è responsabile della distribuzione e dell'aggiornamento della vetrina online del rivenditore, di un'app .NET nativa del cloud e basata su microservizi.
Per soddisfare i requisiti del progetto e migliorare le procedure di sviluppo agile del team, si decide di confrontare l'integrazione continua e la distribuzione continua (CI/CD) tramite GitHub Actions e Azure Pipelines. Le pipeline CI/CD usano una serie di passaggi automatizzati per compilare e distribuire app dalla compilazione in tutti gli ambienti.
Poiché il Web corrente ha un'architettura di microservizi e ogni microservizio viene distribuito in modo indipendente, si inizia configurando CI/CD per un singolo servizio.
L'API Web .NET, denominata servizio prodotto, supporta tutte le funzionalità del catalogo back-end del sito Web. In questo modulo si implementerà una pipeline CI/CD per il servizio prodotto.
Questo modulo illustra i passaggi seguenti:
- Autenticare GitHub Actions in un registro contenitori.
- Archiviare in modo sicuro le informazioni riservate usate da GitHub Actions.
- Implementare un'azione per compilare l'immagine del contenitore per un microservizio.
- Modificare ed eseguire il commit del codice del microservizio per attivare una compilazione.
- Implementare un'azione per distribuire il contenitore aggiornato in un cluster del servizio Azure Kubernetes.
- Modificare ed eseguire il commit di un grafico Helm per attivare la distribuzione.
- Ripristinare la distribuzione precedente del microservizio.
Si userà la propria sottoscrizione di Azure per distribuire le risorse in questo modulo. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Importante
Per evitare addebiti superflui nella sottoscrizione di Azure, assicurarsi di eliminare le risorse di Azure al termine di questo modulo.
Prerequisiti
- Conoscenza concettuale delle procedure DevOps.
- Conoscenza concettuale di contenitori, Docker e servizio Azure Kubernetes.
- Accedere a una sottoscrizione di Azure con autorizzazioni di Proprietario.
- Accedere a un account GitHub.
- Possibilità di eseguire contenitori di sviluppo in Visual Studio Code o In GitHub Codespaces, configurati come descritto nella sezione seguente.
Contenitore di sviluppo
Questo modulo include i file di configurazione che definiscono un contenitore di sviluppo. L'uso di un contenitore di sviluppo garantisce un ambiente standardizzato preconfigurato con gli strumenti necessari.
Il contenitore di sviluppo può essere eseguito in uno di due ambienti. Prima di iniziare, seguire la procedura descritta in uno dei collegamenti seguenti per configurare l'ambiente, inclusa l'installazione di Docker e le estensioni di Visual Studio Code necessarie.
- Visual Studio Code e un ambiente Docker supportato nel computer locale.
- GitHub Codespaces (potrebbero essere applicati costi aggiuntivi).