Esercitazione: Distribuire un processo di Analisi di flusso di Azure con CI/CD usando Azure PipelinesTutorial: Deploy an Azure Stream Analytics job with CI/CD using Azure Pipelines

Questa esercitazione illustra come configurare l'integrazione continua e la distribuzione continua per un processo di Analisi di flusso di Azure usando Azure Pipelines.This tutorial describes how to set up continuous integration and deployment for an Azure Stream Analytics job using Azure Pipelines.

In questa esercitazione si apprenderà come:In this tutorial, you learn how to:

  • Aggiungere il controllo del codice sorgente al progettoAdd source control to your project
  • Creare una pipeline di compilazione in Azure PipelinesCreate a build pipeline in Azure Pipelines
  • Creare una pipeline di versione in Azure PipelinesCreate a release pipeline in Azure Pipelines
  • Distribuire automaticamente e aggiornare un'applicazioneAutomatically deploy and upgrade an application

PrerequisitiPrerequisites

Prima di iniziare, verificare di disporre degli elementi seguenti:Before you start, make sure you have the following:

Configurare la dipendenza del pacchetto NuGetConfigure NuGet package dependency

Per la compilazione e la distribuzione automatiche in un computer arbitrario, è necessario usare il pacchetto NuGet Microsoft.Azure.StreamAnalytics.CICD.In order to do auto build and auto deployment on an arbitrary machine, you need to use the NuGet package Microsoft.Azure.StreamAnalytics.CICD. Fornisce MSBuild, l'esecuzione locale e gli strumenti di distribuzione che supportano l'integrazione continua e il processo di distribuzione dei progetti di Analisi di flusso per Visual Studio.It provides the MSBuild, local run, and deployment tools that support the continuous integration and deployment process of Stream Analytics Visual Studio projects. Per altre informazioni, vedere Strumenti CI/CD di Analisi di flusso.For more information, see Stream Analytics CI/CD tools.

Aggiungere packages.config alla directory del progetto.Add packages.config to your project directory.

<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Azure.StreamAnalytics.CICD" version="1.0.0" targetFramework="net452" />
</packages>

Condividere la soluzione di Visual Studio in un nuovo repository GIT di Azure ReposShare your Visual Studio solution to a new Azure Repos Git repo

Condividere i file di origine dell'applicazione in un progetto in Azure DevOps, in modo da poter generare le compilazioni.Share your application source files to a project in Azure DevOps so you can generate builds.

  1. Creare un nuovo repository Git locale per il progetto selezionando Aggiungi al controllo del codice sorgente, quindi Git nella barra di stato nell'angolo in basso a destra di Visual Studio.Create a new local Git repo for your project by selecting Add to Source Control, then Git on the status bar in the lower right-hand corner of Visual Studio.

  2. Nella visualizzazione Sincronizzazione in Team Explorer selezionare il pulsante Pubblica repository GIT in Esegui push in Azure DevOps Services.In the Synchronization view in Team Explorer, select the Publish Git Repo button under Push to Azure DevOps Services.

    Pulsante Pubblica repository GIT in esegui il push in Azure DevOps Services

  3. Controllare la posta elettronica e selezionare l'organizzazione nell'elenco a discesa Azure DevOps Services Domain (Dominio Azure DevOps Services).Verify your email and select your organization in the Azure DevOps Services Domain drop-down. Immettere il nome del repository e selezionare Pubblica repository.Enter your repository name and select Publish repository.

    Pulsante Pubblica Repository GIT in Pubblica repository

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

Configurare la distribuzione continua con Azure DevOpsConfigure continuous delivery with Azure DevOps

Una pipeline di compilazione di Azure Pipelines descrive un flusso di lavoro costituito da istruzioni di compilazione eseguite in sequenza.An Azure Pipelines build pipeline describes a workflow comprised of build steps that are executed sequentially. Altre informazioni sulle pipeline di compilazione di Azure Pipelines.Learn more about Azure Pipelines build pipelines.

Una pipeline di versione di Azure Pipelines descrive un flusso di lavoro che distribuisce un pacchetto dell'applicazione in un cluster.An Azure Pipelines release pipeline describes a workflow that deploys an application package to a 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.When used together, the build pipeline and release pipeline execute the entire workflow starting with source files and ending with a running application in your cluster. Altre informazioni sulle pipeline di versione di Azure Pipelines.Learn more about Azure Pipelines release pipelines.

Creare una pipeline di compilazioneCreate a build pipeline

Aprire un Web browser e passare al progetto appena creato in Azure DevOps.Open a web browser and navigate to the project you just created in Azure DevOps.

  1. Nella scheda Compilazione e versione selezionare Compilazioni e quindi +Nuovo.Under the Build & Release tab, select Builds, and then +New. Selezionare Azure DevOps Services Git (GIT per Azure DevOps Services) e Continua.Select Azure DevOps Services Git and Continue.

    Selezionare l'origine DevOps GIT in Azure DevOps

  2. In Seleziona un modello fare clic su Processo vuoto per iniziare con una pipeline vuota.In Select a template, click Empty Process to start with an empty pipeline.

    Selezionare il processo vuoto dalle opzioni del modello in DevOps

  3. In Trigger abilitare l'integrazione continua selezionando lo stato del trigger Abilita l'integrazione continua.Under Triggers, enable continuous integration by checking Enable continuous integration trigger status. Selezionare Salva e accoda per avviare manualmente una compilazione.Select Save and queue to manually start a build.

    Abilitare lo stato del trigger dell'integrazione continua

  4. Le compilazioni vengono attivate anche al momento del push o dell'archiviazione.Builds are also triggered upon push or check-in. Per controllare lo stato di avanzamento della compilazione, passare alla scheda Compilazioni. Dopo aver verificato la corretta esecuzione della compilazione, è necessario definire una pipeline 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, you must define a release pipeline that deploys your application to a cluster. Fare clic con il pulsante destro del mouse sui puntini di sospensione accanto alla pipeline di compilazione e scegliere Modifica.Right click on the ellipses next to your build pipeline and select Edit.

  5. In Attività immettere "Hosted" come Coda agente.In Tasks, enter "Hosted" as the Agent queue.

    Selezionare la coda agente nel menu attività

  6. In Fase 1 fare clic su + e aggiungere un'attività NuGet.In Phase 1, click + and add a NuGet task.

    Aggiungere un'attività NuGet nella coda agente

  7. Espandere Avanzate e aggiungere $(Build.SourcesDirectory)\packages alla Directory di destinazione.Expand Advanced and add $(Build.SourcesDirectory)\packages to Destination directory. Mantenere invariati gli atri valori predefiniti della configurazione NuGet.Keep the remaining default NuGet configuration values.

    Configurare le attività di ripristino di NuGet

  8. In Fase 1 fare clic su + e aggiungere un'attività MSBuild.In Phase 1, click + and add a MSBuild task.

    Aggiungere un'attività MSBuild nella coda agente

  9. Modificare gli Argomenti MSBuild con i valori seguenti:Change the MSBuild Arguments to the following:

    /p:CompilerTaskAssemblyFile="Microsoft.WindowsAzure.StreamAnalytics.Common.CompileService.dll"  /p:ASATargetsFilePath="$(Build.SourcesDirectory)\packages\Microsoft.Azure.StreamAnalytics.CICD.1.0.0\build\StreamAnalytics.targets"
    

    Configurare l'attività MSBuild in DevOps

  10. In Fase 1 fare clic su + e aggiungere un'attività Distribuzione gruppo di risorse di Azure.In Phase 1, click + and add an Azure Resource Group Deployment task.

    Aggiungere un'attività Distribuzione gruppo di risorse di Azure

  11. Espandere Dettagli su Azure e immettere i valori di configurazione seguenti:Expand Azure Details and fill out the configuration with the following:

    ImpostazioneSetting Valore consigliatoSuggested value
    SottoscrizioneSubscription Scegliere la propria sottoscrizione.Choose your subscription.
    AzioneAction Creare o aggiornare un gruppo di risorseCreate or update resource group
    Gruppo di risorseResource Group Immettere il nome di un gruppo di risorse.Enter a resource group name.
    ModelloTemplate [Percorso della soluzione]\bin\Debug\Deploy\[Nome progetto].JobTemplate.json[Your solution path]\bin\Debug\Deploy\[Your project name].JobTemplate.json
    Parametri del modelloTemplate parameters [Percorso della soluzione]\bin\Debug\Deploy\[Nome progetto].JobTemplate.parameters.json[Your solution path]\bin\Debug\Deploy\[Your project name].JobTemplate.parameters.json
    Eseguire l'override dei parametri del modelloOverride template parameters Digitare nella casella di testo i parametri del modello di cui eseguire l'override.Type the template parameters to override in the textbox. Esempio: –storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre).Example, –storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre). Questa proprietà è facoltativa, ma si verificheranno errori nella compilazione se non viene eseguito l'override dei parametri chiave.This property is optional, but your build will result in errors if key parameters are not overridden.

    Impostare le proprietà per Distribuzione gruppo di risorse di Azure

  12. Fare clic su Salva e accoda per testare la pipeline di compilazione.Click Save & Queue to test the build pipeline.

    Salvare e accodare compilazione in DevOps

Processo di compilazione non riuscitoFailed build process

È possibile che vengano visualizzati errori per i parametri di distribuzione Null se non è stato eseguito l'override dei parametri del modello nell'attività Distribuzione gruppo di risorse di Azure della pipeline di compilazione.You may receive errors for null deployment parameters if you did not override template parameters in the Azure Resource Group Deployment task of your build pipeline. Tornare alla pipeline di compilazione ed eseguire l'override dei parametri Null per risolvere l'errore.Return to the build pipeline and override the null parameters to resolve the error.

Processo di compilazione di analisi di flusso DevOps non riuscito

Eseguire il commit e il push delle modifiche per attivare una versioneCommit and push changes to trigger a release

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

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 nella barra di stato in basso a destra.Commit changes to your local Git repository by selecting the pending changes icon from the status bar in the bottom right.

  1. 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.

    Eseguire il commit delle modifiche di repository da Visual Studio

  2. Selezionare l'icona della barra di stato delle modifiche non pubblicate o la visualizzazione Sincronizzazione in Team Explorer.Select the unpublished changes status bar icon or the Sync view in Team Explorer. Selezionare Esegui push per aggiornare il codice in Azure DevOps.Select Push to update your code in Azure DevOps.

    Eseguire il push delle modifiche di repository da Visual Studio

Il push delle modifiche in Azure DevOps Services attiva automaticamente una compilazione.Pushing the changes to Azure DevOps Services automatically triggers a build. Al completamento della pipeline di compilazione viene creata automaticamente una versione e viene avviato l'aggiornamento del processo nel cluster.When the build pipeline successfully completes, a release is automatically created and starts updating the job on the cluster.

Pulire le risorseClean up resources

Quando non sono più necessari, eliminare il gruppo di risorse, il processo di streaming e tutte le risorse correlate.When no longer needed, delete the resource group, the streaming job, and all related resources. Eliminando il processo si evita di pagare per le unità di streaming usate dal processo.Deleting the job avoids billing the streaming units consumed by the job. Se si prevede di usare il processo in futuro, è possibile arrestarlo e riavviarlo in un secondo momento, quando è necessario.If you're planning to use the job in future, you can stop it and re-start it later when you need. Se non si intende continuare a usare il processo, eliminare tutte le risorse create tramite questa esercitazione seguendo questa procedura:If you are not going to continue to use this job, delete all resources created by this tutorial by using the following steps:

  1. Scegliere Gruppi di risorse dal menu a sinistra del portale di Azure e quindi fare clic sul nome della risorsa creata.From the left-hand menu in the Azure portal, click Resource groups and then click the name of the resource you created.
  2. Nella pagina del gruppo di risorse fare clic su Elimina, digitare il nome della risorsa da eliminare nella casella di testo e quindi fare clic su Elimina.On your resource group page, click Delete, type the name of the resource to delete in the text box, and then click Delete.

Passaggi successiviNext steps

Per altre informazioni sull'uso degli strumenti di Visual Studio per Analisi di flusso di Azure per configurare un processo di distribuzione e integrazione continue, procedere con l'articolo relativo alla configurazione della pipeline CI/CD:To learn more about using Azure Stream Analytics tools for Visual Studio to set up a continuous integration and deployment process, continue to the set up CI/CD pipeline article: