Distribuire un'applicazione con integrazione continua/distribuzione continua in un cluster di Service FabricDeploy an application with CI/CD to a Service Fabric cluster

Questa esercitazione è la terza di una serie e illustra come configurare l'integrazione continua e la distribuzione continua per un'applicazione di Azure Service Fabric tramite Visual Studio Team Services.This tutorial is part three of a series and describes how to set up continuous integration and deployment for an Azure Service Fabric application using Visual Studio Team Services. È necessaria un'applicazione di Service Fabric esistente. Viene usata come esempio l'applicazione creata in Compilare un'applicazione .NET.An existing Service Fabric application is needed, the application created in Build a .NET application is used as an example.

Nella terza parte della serie si apprenderà come:In part three of the series, you learn how to:

  • Aggiungere il controllo del codice sorgente al progettoAdd source control to your project
  • Creare una definizione di compilazione in Team ServicesCreate a build definition in Team Services
  • Creare una definizione di versione in Team ServicesCreate a release definition in Team Services
  • Distribuire automaticamente e aggiornare un'applicazioneAutomatically deploy and upgrade an application

In questa serie di esercitazioni si apprenderà come:In this tutorial series you learn how to:

PrerequisitiPrerequisites

Prima di iniziare questa esercitazione:Before you begin this tutorial:

Scaricare l'applicazione di voto di esempioDownload the Voting sample application

Se l'applicazione di voto di esempio non è stata compilata nella parte 1 di questa serie di esercitazioni, è possibile scaricarla.If you did not build the Voting sample application in part one of this tutorial series, you can download it. In una finestra di comando eseguire il comando seguente per clonare il repository dell'app di esempio nel computer locale.In a command window, run the following command to clone the sample app repository to your local machine.

git clone https://github.com/Azure-Samples/service-fabric-dotnet-quickstart

Preparare un profilo di pubblicazionePrepare a publish profile

Dopo aver creato un'applicazione e distribuito l'applicazione in Azure, si è pronti per configurare l'integrazione continua.Now that you've created an application and have deployed the application to Azure, you're ready to set up continuous integration. Prima di tutto, preparare un profilo di pubblicazione all'interno dell'applicazione destinato all'uso da parte del processo di distribuzione eseguito in Team Services.First, prepare a publish profile within your application for use by the deployment process that executes within Team Services. Il profilo di pubblicazione deve essere configurato impostando il cluster preparato in precedenza come destinazione.The publish profile should be configured to target the cluster that you've previously created. Avviare Visual Studio e aprire un progetto di applicazione di Service Fabric esistente.Start Visual Studio and open an existing Service Fabric application project. In Esplora soluzioni fare clic con il pulsante destro del mouse sull'applicazione e scegliere Pubblica.In Solution Explorer, right-click the application and select Publish....

Scegliere un profilo di destinazione all'interno del progetto di applicazione da usare per il flusso di lavoro di integrazione continua, ad esempio Cloud.Choose a target profile within your application project to use for your continuous integration workflow, for example Cloud. Specificare l'endpoint di connessione del cluster.Specify the cluster connection endpoint. Selezionare la casella di controllo Aggiorna l'applicazione in modo che l'applicazione venga aggiornata per ogni distribuzione in Team Services.Check the Upgrade the Application checkbox so that your application upgrades for each deployment in Team Services. 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.Click the Save hyperlink to save the settings to the publish profile and then click Cancel to close the dialog box.

Profilo di push

Condividere la soluzione di Visual Studio in un nuovo repository GIT di Team ServicesShare your Visual Studio solution to a new Team Services Git repo

È possibile condividere i file di origine dell'applicazione in un progetto team in Team Services, in modo da poter generare le compilazioni.Share your application source files to a team project in Team Services so you can generate builds.

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.Create a new local Git repo for your project by selecting Add to Source Control -> Git on the status bar in the lower right-hand corner of Visual Studio.

Nella visualizzazione Push in Team Explorer, selezionare il pulsante Pubblica repository GIT nella sezione Effettua il push in Visual Studio Team Services.In the Push view in Team Explorer, select the Publish Git Repo button under Push to Visual Studio Team Services.

Pubblicare il repository GIT

Controllare la posta elettronica e selezionare il proprio account nell'elenco a discesa Dominio Team Services.Verify your email and select your account in the Team Services Domain drop-down. Immettere il nome del repository e selezionare Pubblica repository.Enter your repository name and select Publish repository.

Pubblicare il repository GIT

Con la pubblicazione del repository viene creato un nuovo progetto team nell'account con lo stesso nome del repository locale.Publishing the repo creates a new team project in your account with the same name as the local repo. Per creare il repository in un progetto team esistente, fare clic su Avanzate accanto al nome del Repository e selezionare un progetto team.To create the repo in an existing team project, click Advanced next to Repository name and select a team project. È possibile visualizzare il codice sul Web selezionando Visualizza nel Web.You can view your code on the web by selecting See it on the web.

Configurare il recapito continuo con VSTSConfigure Continuous Delivery with VSTS

Una definizione di compilazione di Team Services descrive un flusso di lavoro costituito da un set di istruzioni di compilazione che vengono eseguite in sequenza.A Team Services build definition describes a workflow that is composed of a set of build steps that are executed sequentially. Creare una definizione di compilazione che produce un pacchetto di applicazione di Service Fabric e altri elementi, per la distribuzione in un cluster di Service Fabric.Create a build definition that that produces a Service Fabric application package, and other artifacts, to deploy to a Service Fabric cluster. Sono disponibili maggiori informazioni sulle definizioni di compilazione di Team Services.Learn more about Team Services build definitions.

Una definizione di versione di Team Services descrive un flusso di lavoro che distribuisce un pacchetto di applicazione in un cluster.A Team Services release definition describes a workflow that deploys an application package to a cluster. Se usate insieme, la definizione di compilazione e la definizione di versione eseguono l'intero flusso di lavoro a partire dai file di origine fino alla creazione di un'applicazione funzionante nel cluster.When used together, the build definition and release definition execute the entire workflow starting with source files to ending with a running application in your cluster. Sono disponibili maggiori informazioni sulle definizioni di versionedi Team Services.Learn more about Team Services release definitions.

Creare una definizione di compilazioneCreate a build definition

Aprire un Web browser e passare al nuovo progetto team all'indirizzo: https://myaccount.visualstudio.com/Voting/Voting%20Team/_git/Voting.Open a web browser and navigate to your new team project at: https://myaccount.visualstudio.com/Voting/Voting%20Team/_git/Voting .

Selezionare la scheda Compilazione e versione, Compilazioni e quindi + Nuova definizione.Select the Build & Release tab, then Builds, then + New definition. In Seleziona un modello selezionare il modello Applicazione Azure Service Fabric e quindi fare clic su Applica.In Select a template, select the Azure Service Fabric Application template and click Apply.

Scegliere il modello di compilazione

L'applicazione di voto contiene un progetto .NET Core ed è quindi necessario aggiungere un'attività che consenta di ripristinare le dipendenze.The voting application contains a .NET Core project, so add a task that restores the dependencies. Nella visualizzazione Attività selezionare + Aggiungi attività in basso a sinistra.In the Tasks view, select + Add Task in the bottom left. Eseguire la ricerca di "Riga di comando" per trovare l'attività della riga di comando e quindi fare clic su Aggiungi.Search on "Command Line" to find the command-line task, then click Add.

Aggiungere un'attività

Nella nuova attività, immettere "Run dotnet.exe" in Nome visualizzato, "dotnet.exe" in Strumentoe "restore" in Argomenti.In the new task, enter "Run dotnet.exe" in Display name, "dotnet.exe" in Tool, and "restore" in Arguments.

Nuova attività

Nella visualizzazione Trigger fare clic sull'opzione Abilita questo trigger in Integrazione continua.In the Triggers view, click the Enable this trigger switch under Continuous Integration.

Selezionare Salva e accoda e immettere "Hosted VS2017" in Coda agente.Select Save & queue and enter "Hosted VS2017" as the Agent queue. Selezionare Accoda per avviare manualmente una compilazione.Select Queue to manually start a build. Le compilazioni vengono attivate anche al momento del push o dell'archiviazione.Builds also triggers upon push or check-in.

Per controllare lo stato di avanzamento della compilazione, passare alla scheda Compilazioni. Dopo aver verificato che la compilazione viene eseguita correttamente, definire una definizione di versione per la distribuzione dell'applicazione in un cluster.To check your build progress, switch to the Builds tab. Once you verify that the build executes successfully, define a release definition that deploys your application to a cluster.

Creare una definizione di versioneCreate a release definition

Selezionare la scheda Compilazione e versione, Versioni e quindi + Nuova definizione.Select the Build & Release tab, then Releases, then + New definition. In Crea definizione di versione selezionare il modello Distribuzione di Azure Service Fabric dall'elenco e fare clic su Avanti.In Create release definition, select the Azure Service Fabric Deployment template from the list and click Next. Scegliere l'origine Compilazione, selezionare la casella Distribuzione continua e fare clic su Crea.Select the Build source, check the Continuous deployment box, and click Create.

Nella visualizzazione Ambienti fare clic su Aggiungi a destra di Connessione cluster.In the Environments view, click Add to the right of Cluster Connection. Specificare il nome di connessione "mysftestcluster", l'endpoint del cluster "tcp://mysftestcluster.westus.cloudapp.azure.com:19000" e le credenziali di Azure Active Directory o di un certificato per il cluster.Specify a connection name of "mysftestcluster", a cluster endpoint of "tcp://mysftestcluster.westus.cloudapp.azure.com:19000", and the Azure Active Directory or certificate credentials for the cluster. Definire le credenziali di Azure Active Directory da usare per connettersi al cluster nei campi Nome utente e Password.For Azure Active Directory credentials, define the credentials you want to use to connect to the cluster in the Username and Password fields. Per l'autenticazione basata su certificato, definire la codifica Base64 del file del certificato client nel campo Certificato client.For certificate-based authentication, define the Base64 encoding of the client certificate file in the Client Certificate field. Per informazioni su come ottenere questo valore, vedere la finestra popup di guida su tale campo.See the help pop-up on that field for info on how to get that value. Se il certificato è protetto da password, definire la password nel campo Password .If your certificate is password-protected, define the password in the Password field. Fare clic su Salva per salvare la definizione di versione.Click Save to save the release definition.

Aggiungere la connessione cluster

Fare clic su Esegui su agente e quindi selezionare Hosted VS2017 per Coda di distribuzione.Click Run on agent, then select Hosted VS2017 for Deployment queue. Fare clic su Salva per salvare la definizione di versione.Click Save to save the release definition.

Esegui su agente

Selezionare +Release -> Crea versione -> Crea per creare manualmente una versione.Select +Release -> Create Release -> Create to manually create a release. Verificare che la distribuzione venga completata correttamente e che l'applicazione sia in esecuzione nel cluster.Verify that the deployment succeeded and the application is running in the cluster. Aprire un Web browser e passare a http://mysftestcluster.westus.cloudapp.azure.com:19080/Explorer/.Open a web browser and navigate to http://mysftestcluster.westus.cloudapp.azure.com:19080/Explorer/. Si noti la versione dell'applicazione, in questo esempio è "1.0.0.20170616.3".Note the application version, in this example it is "1.0.0.20170616.3".

Eseguire commit e push delle modifiche, attivare la compilazione di una versioneCommit and push changes, trigger a release

Per verificare che la pipeline di integrazione continua funzioni correttamente, è possibile archiviare alcune modifiche al codice in Team Services.To verify that the continuous integration pipeline is functioning by checking in some code changes to Team Services.

Durante la scrittura del codice, le modifiche vengono rilevate automaticamente da Visual Studio.As you write your code, your changes are automatically tracked by Visual Studio. Per eseguire il commit delle modifiche nel repository GIT locale, selezionare l'icona di modifiche in sospeso (Commit changes to your local Git repository by selecting the pending changes icon (In sospeso) sulla barra di stato in basso a destra.) from the status bar in the bottom right.

Nella visualizzazione Modifiche in Team Explorer aggiungere un messaggio che descrive l'aggiornamento ed eseguire il commit delle modifiche.On the Changes view in Team Explorer, add a message describing your update and commit your changes.

Esegui commit di tutto

Selezionare l'icona della barra di stato delle modifiche non pubblicate (Modifiche non pubblicate) oppure la visualizzazione Sincronizza in Team Explorer.Select the unpublished changes status bar icon (Unpublished changes) or the Sync view in Team Explorer. Selezionare Push per aggiornare il codice in Team Services/TFS.Select Push to update your code in Team Services/TFS.

Effettuare il push delle modifiche

Il push delle modifiche in Team Services attiva automaticamente una compilazione.Pushing the changes to Team Services automatically triggers a build. Quando la definizione di compilazione viene completata correttamente, viene creata automaticamente una versione con avvio dell'aggiornamento dell'applicazione nel cluster.When the build definition successfully completes, a release is automatically created and starts upgrading the application on the cluster.

Per controllare lo stato di avanzamento della compilazione, passare alla scheda Compilazioni in Team Explorer in Visual Studio.To check your build progress, switch to the Builds tab in Team Explorer in Visual Studio. Dopo aver verificato che la compilazione viene eseguita correttamente, definire una definizione di versione per la distribuzione dell'applicazione in un cluster.Once you verify that the build executes successfully, define a release definition that deploys your application to a cluster.

Verificare che la distribuzione venga completata correttamente e che l'applicazione sia in esecuzione nel cluster.Verify that the deployment succeeded and the application is running in the cluster. Aprire un Web browser e passare a http://mysftestcluster.westus.cloudapp.azure.com:19080/Explorer/.Open a web browser and navigate to http://mysftestcluster.westus.cloudapp.azure.com:19080/Explorer/. Prendere nota della versione dell'applicazione, che in questo esempio è "1.0.0.20170815.3".Note the application version, in this example it is "1.0.0.20170815.3".

Service Fabric Explorer

Aggiornare l'applicazioneUpdate the application

Apportare modifiche al codice nell'applicazione.Make code changes in the application. Salvare le modifiche ed eseguirne il commit, come descritto nei passaggi precedenti.Save and commit the changes, following the previous steps.

Dopo l'avvio dell'aggiornamento dell'applicazione, è possibile controllare lo stato di aggiornamento in Service Fabric Explorer:Once the upgrade of the application begins, you can watch the upgrade progress in Service Fabric Explorer:

Service Fabric Explorer

L'aggiornamento dell'applicazione potrebbe richiedere alcuni minuti.The application upgrade may take several minutes. Una volta completato l'aggiornamento, l'applicazione eseguirà la versione successiva,When the upgrade is complete, the application will be running the next version. in questo esempio la versione "1.0.0.20170815.4".In this example "1.0.0.20170815.4".

Service Fabric Explorer

Passaggi successiviNext steps

In questa esercitazione si è appreso come:In this tutorial, you learned how to:

  • Aggiungere il controllo del codice sorgente al progettoAdd source control to your project
  • Creare una definizione di compilazioneCreate a build definition
  • Creare una definizione di versioneCreate a release definition
  • Distribuire automaticamente e aggiornare un'applicazioneAutomatically deploy and upgrade an application

Passare all'esercitazione successiva:Advance to the next tutorial: