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 questa serie di esercitazioni si apprenderà come:

Prerequisiti

Prima di iniziare questa esercitazione:

Scaricare l'applicazione di voto di esempio

Se l'applicazione di voto di esempio non è stata compilata nella parte 1 di questa serie di esercitazioni, è 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, si è pronti per 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 impostando il cluster preparato in precedenza come destinazione. 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. Fare clic sul collegamento ipertestuale Salva per salvare le impostazioni per il profilo di pubblicazione e quindi fare clic su Annulla per chiudere la finestra di dialogo.

Push profile

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 Git locale per il progetto selezionando Aggiungi al controllo del codice sorgente ->Git sulla barra di stato nell'angolo inferiore destro di Visual Studio.

Nella visualizzazione Push in Team Explorer selezionare il pulsante Pubblica repository GIT nella sezione Esegui push in Azure DevOps.

Screenshot of the Team Explorer - Synchronization window in Visual Studio. The Publish to Git Repo button is highlighted under Push to Azure DevOps.

Controllare la posta elettronica e selezionare il proprio account nell'elenco a discesa Azure DevOps Domain (Dominio Azure DevOps). Immettere il nome del repository e selezionare Pubblica repository.

Screenshot of the Push to Azure DevOps settings with the Email, Account, Repository name, and Publish Repository button highlighted.

Con la pubblicazione del repository viene creato un nuovo progetto nell'account con lo stesso nome del repository locale. Per creare il repository in un progetto esistente, fare clic su Avanzate accanto al nome del repository e selezionare un progetto. È possibile visualizzare il codice sul Web selezionando Visualizza nel Web.

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://<myaccount>.visualstudio.com/Voting/Voting%20Team/_git/Voting.

Selezionare la scheda Pipeline, Compilazioni e quindi fare clic su Nuova pipeline.

New Pipeline

Selezionare Azure Repos Git come origine, Voting come progetto team, Voting come repository e master come ramo predefinito per le compilazioni manuale e pianificata. Fare clic su Continua.

Select repo

In Seleziona un modello selezionare il modello Applicazione Azure Service Fabric e quindi fare clic su Applica.

Choose build template

In Attività immettere "Hosted VS2017" come Pool di agenti.

Select tasks

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.

Select triggers

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.

Choose release template

Selezionare Attività ->Ambiente 1 e quindi + Nuovo per aggiungere una nuova connessione cluster.

Add cluster connection

Nella visualizzazione Add new Service Fabric Connection (Aggiungi nuova connessione Service Fabric) selezionare l'autenticazione Basato su certificato o di Microsoft Entra ID. Specificare "mysftestcluster" come nome della connessione e "tcp://mysftestcluster.southcentralus.cloudapp.azure.com:19000" come endpoint del cluster oppure specificare 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.

Fare clic su Aggiungi per salvare la connessione cluster.

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. Fare clic su Aggiungi per salvare l'elemento di compilazione.

Add artifact

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

Enable trigger

Selezionare + Versione ->Crea versione ->Crea per creare manualmente una versione. È possibile monitorare lo stato della versione nella scheda Versioni.

Verificare che la distribuzione venga completata correttamente e che l'applicazione sia in esecuzione nel cluster. Aprire un Web browser e passare a http://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. Si noti la 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, le modifiche vengono rilevate automaticamente da Visual Studio. Per eseguire il commit delle modifiche nel repository Git locale, selezionare l'icona di modifiche in sospeso (Pending changes icon shows a pencil and a number.) nella barra di stato in basso a destra.

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

Commit all

Selezionare l'icona della barra di stato delle modifiche non pubblicate (Unpublished changes) o la visualizzazione Sincronizzazione in Team Explorer. Selezionare Esegui push per aggiornare il codice in Azure Pipelines.

Push changes

Il push delle modifiche in Azure Pipelines attiva automaticamente una compilazione. Al completamento della pipeline di compilazione viene creata automaticamente una versione e viene avviato l'aggiornamento dell'applicazione nel cluster.

Per controllare lo stato di avanzamento della compilazione, passare alla scheda Compilazioni in Team Explorer in Visual Studio. Dopo aver verificato la corretta esecuzione della compilazione, definire una pipeline di versione per la distribuzione dell'applicazione in un cluster.

Verificare che la distribuzione venga completata correttamente e che l'applicazione sia in esecuzione nel cluster. Aprire un Web browser e passare a http://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. Prendere nota della versione dell'applicazione, che in questo esempio è "1.0.0.20170815.3".

Screenshot of the Voting app in Service Fabric Explorer running in a browser window. The app version

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 of the Voting app in Service Fabric Explorer. The Status message

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

Screenshot of the Voting app in Service Fabric Explorer running in a browser window. The updated app version

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: