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:

Prerequisiti

Prima di iniziare questa esercitazione:

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.

Screenshot che mostra il push di un profilo per pubblicare l'applicazione.

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.

Screenshot che mostra la creazione di un nuovo repository Git.

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.

Screenshot che mostra la creazione di una nuova pipeline.

Selezionare Usa l'editor classico per creare una pipeline senza usare YAML.

Screenshot che mostra l'uso dell'editor classico per creare una pipeline.

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.

Screenshot che mostra la selezione del repository in Azure DevOps.

In Selezionare un modello selezionare il modello di applicazione di Azure Service Fabric e quindi selezionare Applica.

Screenshot che mostra la selezione e la creazione di un modello.

In Attività immettere Azure Pipelines per Pool di agenti. Per Specifica agente immettere windows-2022.

Screenshot che mostra la selezione delle attività.

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.

Screenshot che mostra la selezione di un trigger.

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.

Screenshot che mostra la selezione di un modello di versione.

Selezionare Attività>Nuovo per aggiungere una nuova connessione cluster.

Screenshot che mostra l'aggiunta di una 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.

Screenshot che mostra l'aggiunta di un artefatto.

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.

Screenshot che mostra l'abilitazione del trigger.

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.

Screenshot che mostra il commit delle modifiche più recenti.

In Modifiche Git selezionare Push (freccia su) per aggiornare il codice in Azure Pipelines.

Screenshot che mostra l'opzione Push.

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.

Screenshot che mostra l'app Voting in Service Fabric Explorer in esecuzione in un browser, con la versione dell'app evidenziata.

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:

Screenshot che mostra l'app Voting in Service Fabric Explorer in esecuzione in un browser, con i messaggi di stato evidenziati.

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.

Screenshot che mostra l'app Voting in Service Fabric Explorer in esecuzione in un browser, con la versione aggiornata dell'app evidenziata.

Passaggio successivo

Passare all'esercitazione successiva: