Esercitazione: Configurare CI/CD per un'applicazione di Service Fabric usando Azure Pipelines
Questa esercitazione è la quarta parte di una serie. Illustra come configurare l'integrazione continua e la distribuzione continua (CI/CD) per un'applicazione di Azure Service Fabric usando Azure Pipelines. Per completare l'esercitazione, è necessario disporre di un'applicazione di Service Fabric esistente. Questa esercitazione usa l'applicazione descritta nella prima parte della serie di esercitazioni.
In questa esercitazione apprenderai a:
- Aggiungere il controllo del codice sorgente al progetto
- Creare una pipeline di compilazione in Azure Pipelines
- Creare una pipeline di versione in Azure Pipelines
- Distribuire automaticamente e aggiornare un'applicazione
La serie di esercitazioni mostra come:
- Creare un'applicazione di Service Fabric .NET
- Distribuire l'applicazione in un cluster remoto
- Aggiungere un endpoint HTTPS a un servizio front-end ASP.NET Core
- Configurare CI/CD usando Azure Pipelines (questa esercitazione)
- Configurare il monitoraggio e la diagnostica per l'applicazione
Prerequisiti
Prima di iniziare questa esercitazione:
- Se non hai una sottoscrizione di Azure, crea un account gratuito.
- Installare Visual Studio 2019, inclusi il carico di lavoro di Sviluppo di Azure e il carico di lavoro di sviluppo ASP.NET e Web.
- Installare Service Fabric SDK.
- Creare un cluster di Windows Service Fabric in Azure, ad esempio, seguendo questa esercitazione.
- Creare un'organizzazione di Azure DevOps in modo che sia possibile creare un progetto in Azure DevOps e usare Azure Pipelines.
Scaricare l'applicazione di voto di esempio
Se non è stata compilata l'applicazione di esempio Voting nella prima parte di questa serie, è possibile scaricarla. In una finestra di comando eseguire il comando seguente per clonare il repository dell'app di esempio nel computer locale.
git clone https://github.com/Azure-Samples/service-fabric-dotnet-quickstart
Preparare un profilo di pubblicazione
Dopo aver creato un'applicazione e distribuito l'applicazione in Azure, è possibile configurare l'integrazione continua. Prima di tutto, nell'applicazione preparare un profilo di pubblicazione che dovrà essere usato dal processo di distribuzione eseguito in Azure Pipelines. Il profilo di pubblicazione deve essere configurato per specificare come destinazione il cluster creato in precedenza. Avviare Visual Studio e aprire un progetto di applicazione di Service Fabric esistente. In Esplora soluzioni fare clic con il pulsante destro del mouse sull'applicazione e scegliere Pubblica.
Scegliere un profilo di destinazione nel progetto dell'applicazione da usare per il flusso di lavoro di integrazione continua, ad esempio Cloud. Specificare l'endpoint di connessione del cluster. Selezionare la casella di controllo Aggiorna l'applicazione in modo che l'applicazione venga aggiornata per ogni distribuzione in Azure DevOps. Selezionare il collegamento Salva profilo per salvare le impostazioni nel profilo di pubblicazione e quindi selezionare Annulla per chiudere la finestra di dialogo.
Condividere la soluzione di Visual Studio in un nuovo repository GIT di Azure DevOps
Condividere i file di origine dell'applicazione in un progetto in Azure DevOps in modo da poter generare compilazioni.
Per creare un nuovo repository GitHub e un repository Azure DevOps in Visual Studio 2022, selezionare Git Create Git Repository (Crea repository Git)>dal menu Git.
Selezionare l'account e immettere il nome del repository. Selezionare Crea ed esegui push.
La pubblicazione del repository crea un nuovo progetto nell'account di Azure DevOps Services con lo stesso nome del repository locale.
Per visualizzare il repository appena creato, passare a https://dev.azure.com/><organizationname>
. Passare il puntatore del mouse sul nome del progetto e selezionare l'icona Repository .
Configurare il recapito continuo con Azure Pipelines
Una pipeline di compilazione di Azure Pipelines descrive un flusso di lavoro con un set di passaggi di compilazione eseguiti in sequenza. Per eseguire la distribuzione in un cluster di Service Fabric, creare una pipeline di compilazione che produce un pacchetto dell'applicazione di Service Fabric e altri artefatti. Altre informazioni sulle pipeline di compilazione di Azure Pipelines.
Una pipeline di versione di Azure Pipelines descrive un flusso di lavoro che distribuisce un pacchetto dell'applicazione in un cluster. Se usati insieme, la pipeline di compilazione e la pipeline di versione eseguono l'intero flusso di lavoro, a partire dai file di origine e terminano con un'applicazione in esecuzione nel cluster. Altre informazioni sulle pipeline di versione di Azure Pipelines.
Creazione di una pipeline di compilazione
Aprire un Web browser e passare al nuovo progetto all'indirizzo https://dev.azure.com/<organization-name>/VotingSample
.
Selezionare la scheda Pipeline e quindi crea pipeline.
Selezionare Usa l'editor classico per creare una pipeline senza usare YAML.
Per l'origine selezionare Azure Repos Git. Per Progetto team selezionare VotingSample. Per Repository selezionare VotingApplication. Lasciare il ramo predefinito per le compilazioni manuali e pianificate. Selezionare Continua.
In Selezionare un modello selezionare il modello di applicazione di Azure Service Fabric e quindi selezionare Applica.
In Attività immettere Azure Pipelines per Pool di agenti. Per Specifica agente immettere windows-2022.
In Trigger selezionare la casella di controllo Abilita integrazione continua. Per impostazione predefinita, in Filtri di ramo la specifica branch è master. Selezionare Salva e accoda per avviare manualmente una compilazione.
Le compilazioni vengono attivate anche al momento del push o dell'archiviazione. Per controllare lo stato di avanzamento della compilazione, selezionare la scheda Compilazioni . Dopo aver verificato che la compilazione venga eseguita correttamente, definire una pipeline di versione che distribuisce l'applicazione in un cluster.
Creazione di una pipeline di rilascio
Selezionare la scheda Pipeline e quindi selezionare Rilascia>nuova pipeline. In Selezionare un modello selezionare il modello di distribuzione di Azure Service Fabric e quindi selezionare Applica.
Selezionare Attività>Nuovo per aggiungere una nuova connessione cluster.
In Nuova connessione di Service Fabric selezionare Certificato basato su certificato o Autenticazione delle credenziali di Microsoft Entra. Specificare un endpoint cluster di tcp://mysftestcluster.southcentralus.cloudapp.azure.com:19000
(o l'endpoint del cluster in cui si esegue la distribuzione).
Per l'autenticazione basata su certificati, aggiungere l'identificazione personale del certificato server del certificato server usato per creare il cluster. In Certificato client aggiungere la codifica Base 64 del file del certificato client. Per informazioni su come ottenere la rappresentazione con codifica base 64 del certificato, vedere le informazioni della Guida per tale campo. Aggiungere anche la password per il certificato. È possibile usare il certificato del cluster o il certificato del server se non si dispone di un certificato client separato.
Per le credenziali di Microsoft Entra, aggiungere un valore per l'identificazione personale del certificato server. Usare il certificato del server usato per creare il cluster e le credenziali da usare per connettersi al cluster in Nome utente e Password.
Seleziona Salva.
Aggiungere quindi un artefatto di compilazione alla pipeline in modo che la pipeline di versione possa trovare l'output della compilazione. Selezionare Pipeline Artifacts Add (Aggiungi artefatti>pipeline).> In Origine (definizione di compilazione) selezionare la pipeline di compilazione creata in precedenza. Selezionare Aggiungi per salvare l'artefatto di compilazione.
Abilitare un trigger di distribuzione continua in modo che una versione venga creata automaticamente al termine della compilazione. Selezionare l'icona a forma di fulmine nell'artefatto, abilitare il trigger e selezionare Salva per salvare la pipeline di versione.
Selezionare Crea versione>crea per creare manualmente una versione. Per monitorare lo stato di avanzamento della versione, selezionare la scheda Versioni .
Verificare che la distribuzione sia riuscita e che l'applicazione sia in esecuzione nel cluster. Aprire un Web browser e passare a https://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/
. Prendere nota della versione dell'applicazione. In questo esempio è 1.0.0.20170616.3
.
Eseguire il commit e il push delle modifiche per attivare una versione
Per verificare che la pipeline di integrazione continua funzioni, controllare alcune modifiche al codice in Azure DevOps.
Durante la scrittura del codice, Visual Studio tiene traccia delle modifiche apportate al file nel progetto nella sezione Modifiche del riquadro Modifiche Git.
In Modifiche immettere un messaggio per descrivere l'aggiornamento e quindi eseguire il commit delle modifiche.
In Modifiche Git selezionare Push (freccia su) per aggiornare il codice in Azure Pipelines.
Il push delle modifiche in Azure Pipelines attiva una compilazione. Per controllare lo stato di avanzamento della compilazione, selezionare la scheda Pipeline nell'applicazione in https://dev.azure.com/organizationname/VotingSample
.
Al termine della compilazione, viene creata automaticamente una versione e viene avviato l'aggiornamento dell'applicazione nel cluster.
Verificare che la distribuzione sia riuscita e che l'applicazione sia in esecuzione nel cluster. Aprire un Web browser e passare a https://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/
. Prendere nota della versione dell'applicazione. In questo esempio è 1.0.0.20170815.3
.
Aggiornare l'applicazione
Apportare modifiche al codice nell'applicazione. Salvare ed eseguire il commit delle modifiche.
All'avvio dell'aggiornamento dell'applicazione, è possibile tenere traccia dello stato di avanzamento dell'aggiornamento in Service Fabric Explorer:
L'aggiornamento dell'applicazione potrebbe richiedere alcuni minuti. Al termine dell'aggiornamento, l'applicazione esegue la versione successiva. In questo esempio è in esecuzione la versione 1.0.0.20170815.4
.
Passaggio successivo
Passare all'esercitazione successiva: