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:
- 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 l'integrazione continua e la distribuzione continua con Azure Pipelines
- Configurare il monitoraggio e la diagnostica per l'applicazione
Prerequisiti
Prima di iniziare questa esercitazione:
- Se non si ha una sottoscrizione di Azure, creare un account gratuito.
- Installare Visual Studio 2019 e installare i carichi di lavoro Sviluppo di Azure e Sviluppo ASP.NET e Web.
- Installare Service Fabric SDK
- Creare un cluster di Service Fabric per Windows in Azure, ad esempio eseguendo questa esercitazione
- Creare un'organizzazione di Azure DevOps. Un'organizzazione consente di creare un progetto in Azure DevOps e di 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 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.
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 .
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.
Selezionare Usa l'editor classico per creare una pipeline senza YAML.
Selezionare Azure Repos Git come origine, VotingSample Team project, VotingApplication Repository e master Default branch per le compilazioni manuali e pianificate. Selezionare Continua.
In Selezionare un modello selezionare il modello di applicazione Azure Service Fabric e selezionare Applica.
In Attività immettere "Azure Pipelines" come pool di agenti e windows-2022 come Specifica agente.
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.
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.
Selezionare Attività e quindi +Nuovo per aggiungere una nuova 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.
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.
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.
Nella finestra Modifiche Git selezionare pulsante Push (freccia su) per aggiornare il codice in Azure Pipelines.
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
.
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:
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
.
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: