Introduzione
Si supponga di essere un software engineer che lavora per un rivenditore online di abbigliamento outdoor. Si è responsabile della distribuzione e dell'aggiornamento della vetrina online del rivenditore, di un'app di .NET basata su microservizi nativa del cloud.
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. La pipeline CI/CD usa una serie di passaggi automatizzati per la compilazione e la distribuzione di app dall'ambiente di compilazione a tutti gli ambienti.
Poiché l'attuale Web ha un'architettura basata su 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à di back-end del catalogo 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.
- Ripristina il microservizio alla versione precedente.
Si usa 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 non necessari 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.
- Accesso 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 file di configurazione che definiscono un contenitore di sviluppo o 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 dei 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 (i costi possono essere applicati).