Esercitazione: Distribuire un'applicazione con integrazione continua/distribuzione continua in un cluster di Service Fabric

Questa esercitazione è la quarta parte di una serie e illustra come configurare l'integrazione continua e la distribuzione continua per un'applicazione di Azure Service Fabric usando Azure Pipelines. È necessaria un'applicazione di Service Fabric esistente. Viene usata come esempio l'applicazione creata in Compilare un'applicazione .NET.

Nella terza parte della serie si apprenderà come:

  • 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

In queste esercitazioni si apprenderà 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 all'interno del progetto di 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 ipertestuale Salva per salvare le impostazioni nel profilo di pubblicazione e quindi scegliere Annulla per chiudere la finestra di dialogo.

Profilo di push

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 le compilazioni.

Creare un nuovo repository GitHub e un repository Azure DevOps dall'IDE di Visual Studio 2022 selezionando Git -> Crea repository Git dal menu Git

Selezionare l'account nell'elenco a discesa e immettere il nome del repository e selezionare il pulsante Crea e push .

Screenshot della 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.

Visualizzare il repository appena creato passando a https://dev.azure.com/\<nome> organizzazione, 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 costituito da un set di istruzioni di compilazione eseguite in sequenza. Creare una pipeline di compilazione che produca un pacchetto dell'applicazione di Service Fabric e altri artefatti, per la distribuzione in un cluster di Service Fabric. 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 usate insieme, la pipeline di compilazione e la pipeline di versione eseguono l'intero flusso di lavoro, a partire dai file di origine fino alla creazione di 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/\<nome> organizzazione/VotingSample

Selezionare la scheda Pipeline e selezionare Crea pipeline.

Nuova pipeline

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

Editor classico

Selezionare Azure Repos Git come origine, VotingSample Team project, VotingApplication Repository e master Default branch per le compilazioni manuali e pianificate. Selezionare Continua.

Selezionare Repository

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

Scegliere il modello di compilazione

In Attività immettere "Azure Pipelines" come pool di agenti e windows-2022 come Specifica agente.

Selezionare le attività

In Trigger abilitare l'integrazione continua selezionando Abilita l'integrazione continua. In Filtri per ramiSpecifica rami è automaticamente impostato su master. Selezionare Salva e accoda per avviare manualmente una compilazione.

Selezionare i trigger

Le compilazioni vengono attivate anche al momento del push o dell'archiviazione. Per controllare lo stato di avanzamento della compilazione, passare alla scheda Compilazioni. Dopo aver verificato la corretta esecuzione della compilazione, definire una pipeline di versione per la distribuzione dell'applicazione in un cluster.

Creare una pipeline di versione

Selezionare la scheda Pipeline, Versioni e quindi + Nuova pipeline. In Seleziona un modello selezionare il modello Distribuzione di Azure Service Fabric dall'elenco e quindi fare clic su Applica.

Scegliere un modello di versione

Selezionare Attività e quindi +Nuovo per aggiungere una nuova connessione cluster.

Aggiungere la connessione cluster

Nella visualizzazione New Service Fabric Connessione ion selezionare Certificate Based or Microsoft Entra credential authentication (Autenticazione basata su certificati o Credenziali di Microsoft Entra). Specificare l'endpoint del 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 certificato, aggiungere l'Identificazione personale certificato del server del certificato del 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 la finestra di dialogo popup della Guida per il campo. Aggiungere anche la Password per il certificato. È possibile usare il certificato del cluster o del server se non è disponibile un certificato client separato.

Per le credenziali di Microsoft Entra aggiungere l'Identificazione personale certificato del server del certificato del server usato per creare il cluster e le credenziali da usare per connettersi al cluster nei campi Nome utente e Password.

Seleziona Salva.

Aggiungere quindi un artefatto alla pipeline in modo da consentire alla pipeline di versione di trovare l'output dalla compilazione. Selezionare Pipeline e Artifacts->+ Aggiungi. In Origine (definizione di compilazione) selezionare la pipeline di compilazione creata in precedenza. Selezionare Aggiungi per salvare l'artefatto di compilazione.

Aggiungere un elemento

Abilitare il trigger di distribuzione continua in modo che la versione venga creata automaticamente al termine della compilazione. Selezionare l'icona a forma di fulmine nell'artefatto, abilitare il trigger e scegliere Salva per salvare la pipeline di versione.

Abilitare il trigger

Selezionare Crea versione ->Crea per creare manualmente una versione. È possibile monitorare lo stato della versione nella 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 commit e push delle modifiche, attivare la compilazione di una versione

Per verificare che la pipeline di integrazione continua funzioni correttamente, è possibile archiviare alcune modifiche al codice in Azure DevOps.

Durante la scrittura del codice, Visual Studio tiene traccia delle modifiche apportate al progetto nella sezione Modifiche della finestra Modifiche Git.

Nella visualizzazione Modifiche aggiungere un messaggio che descrive l'aggiornamento ed eseguire il commit delle modifiche.

Esegui commit di tutto

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

Eseguire il push delle modifiche

Il push delle modifiche in Azure Pipelines attiva automaticamente una compilazione. Per controllare lo stato di avanzamento della compilazione, passare alla scheda Pipeline in https://dev.azure.com/organizationname/VotingSample.

Al termine della compilazione, una versione viene creata automaticamente e avvia 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 dell'app Voting in Service Fabric Explorer in esecuzione in una finestra del browser. La versione dell'app

Aggiornare l'applicazione

Apportare modifiche al codice nell'applicazione. Salvare le modifiche ed eseguirne il commit, come descritto nei passaggi precedenti.

Dopo l'avvio dell'aggiornamento dell'applicazione, è possibile controllare lo stato di aggiornamento in Service Fabric Explorer:

Screenshot dell'app Voting in Service Fabric Explorer. Il messaggio di stato

L'aggiornamento dell'applicazione potrebbe richiedere alcuni minuti. Una volta completato l'aggiornamento, l'applicazione eseguirà la versione successiva, In questo esempio 1.0.0.20170815.4.

Screenshot dell'app Voting in Service Fabric Explorer in esecuzione in una finestra del browser. La versione aggiornata dell'app

Passaggi successivi

Questa esercitazione ha descritto come:

  • Aggiungere il controllo del codice sorgente al progetto
  • Creazione di una pipeline di compilazione
  • Creare una pipeline di versione
  • Distribuire automaticamente e aggiornare un'applicazione

Passare all'esercitazione successiva: