Tutoriel : Déployer un travail Azure Stream Analytics avec CI/CD à l’aide d’Azure PipelinesTutorial: Deploy an Azure Stream Analytics job with CI/CD using Azure Pipelines

Ce tutoriel explique comment configurer l’intégration et le déploiement continus pour un travail Azure Stream Analytics à l’aide d’Azure Pipelines.This tutorial describes how to set up continuous integration and deployment for an Azure Stream Analytics job using Azure Pipelines.

Ce tutoriel vous montre comment effectuer les opérations suivantes :In this tutorial, you learn how to:

  • Ajouter le contrôle de code source à votre projetAdd source control to your project
  • Créer un pipeline de build dans Azure PipelinesCreate a build pipeline in Azure Pipelines
  • Créer un pipeline de mise en production dans Azure PipelinesCreate a release pipeline in Azure Pipelines
  • Déployer et mettre à niveau une application automatiquementAutomatically deploy and upgrade an application

PrérequisPrerequisites

Avant de commencer, veillez à disposer des éléments qui suivent :Before you start, make sure you have the following:

Configurer une dépendance de package NuGetConfigure NuGet package dependency

Pour procéder à une génération et à un déploiement automatiques sur une machine arbitraire, vous devez utiliser le package 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. Il fournit MSBuild, une série locale et des outils de déploiement qui prennent en charge le processus de déploiement et d’intégration continus des projets Visual Studio Stream Analytics.It provides the MSBuild, local run, and deployment tools that support the continuous integration and deployment process of Stream Analytics Visual Studio projects. Pour plus d’informations, voir Intégrer et développer en continu avec les outils Stream Analytics.For more information, see Stream Analytics CI/CD tools.

Ajoutez packages.config au répertoire du projet.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>

Partager votre solution Visual Studio dans un nouveau référentiel Git Azure ReposShare your Visual Studio solution to a new Azure Repos Git repo

Partagez les fichiers source de votre application dans un projet Azure DevOps pour pouvoir générer des builds.Share your application source files to a project in Azure DevOps so you can generate builds.

  1. Créez un référentiel Git local pour votre projet en sélectionnant Ajouter au contrôle de code source, puis Git dans la barre d’état située dans le coin inférieur droit de 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. Dans la vue Synchronisation de Team Explorer, sélectionnez le bouton Publier le référentiel Git sous Push sur Azure DevOps Services.In the Synchronization view in Team Explorer, select the Publish Git Repo button under Push to Azure DevOps Services.

    Appuyer sur le bouton Publier le référentiel Git dans Azure DevOps Services

  3. Vérifiez votre adresse e-mail et sélectionnez votre organisation dans la liste déroulante Domaine Azure DevOps Services.Verify your email and select your organization in the Azure DevOps Services Domain drop-down. Entrez le nom de votre dépôt et sélectionnez Publier le dépôt.Enter your repository name and select Publish repository.

    Appuyer sur le bouton Publier le référentiel du référentiel Git

    La publication du référentiel entraîne la création d’un projet dans votre organisation portant le même nom que le référentiel local.Publishing the repo creates a new project in your organization with the same name as the local repo. Pour créer le référentiel dans un projet existant, cliquez sur Avancé en regard de Nom du référentiel, puis sélectionnez un projet.To create the repo in an existing project, click Advanced next to Repository name, and select a project. Vous pouvez afficher votre code dans le navigateur en sélectionnant See it on the web (Le visualiser sur le web).You can view your code in the browser by selecting See it on the web.

Configurer la livraison continue avec Azure DevOpsConfigure continuous delivery with Azure DevOps

Un pipeline de build Azure Pipelines décrit un flux de travail qui se compose d’étapes de génération exécutées séquentiellement.An Azure Pipelines build pipeline describes a workflow comprised of build steps that are executed sequentially. En savoir plus sur les pipelines de build Azure Pipelines.Learn more about Azure Pipelines build pipelines.

Un pipeline de mise en production Azure Pipelines décrit un flux de travail qui déploie un package d’application sur un cluster.An Azure Pipelines release pipeline describes a workflow that deploys an application package to a cluster. Lorsqu’ils sont utilisés ensemble, le pipeline de build et le pipeline de mise en production exécutent le flux de travail dans son ensemble, depuis les fichiers source jusqu’à l’exécution de l’application dans votre 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. En savoir plus sur les pipelines de mise en production Azure Pipelines.Learn more about Azure Pipelines release pipelines.

Créer un pipeline de buildCreate a build pipeline

Ouvrez un navigateur web et accédez au projet que vous venez de créer dans Azure DevOps.Open a web browser and navigate to the project you just created in Azure DevOps.

  1. Dans l’onglet Build et mise en production, sélectionnez Builds, puis +Nouveau.Under the Build & Release tab, select Builds, and then +New. Sélectionnez Azure DevOps Services Git et Continuer.Select Azure DevOps Services Git and Continue.

    Sélectionner une source Git DevOps dans Azure DevOps

  2. Dans Sélectionner un modèle, cliquez sur Processus vide pour démarrer avec un pipeline vide.In Select a template, click Empty Process to start with an empty pipeline.

    Sélectionner un processus vide à partir des options de modèle dans DevOps

  3. Sous Déclencheurs, activez l’intégration continue en cochant l’état du déclencheur Activer l’intégration continue.Under Triggers, enable continuous integration by checking Enable continuous integration trigger status. Sélectionnez Enregistrer et mettre en file d’attente pour lancer une build manuellement.Select Save and queue to manually start a build.

    Activer l’état du déclenchement de l’intégration continue

  4. Les builds sont également déclenchées au moment de l’archivage ou de l’envoi (push).Builds are also triggered upon push or check-in. Pour vérifier la progression de votre build, basculez vers l’onglet Builds. Une fois que vous avez vérifié que la build s’exécute correctement, vous devez définir un pipeline de mise en production assurant le déploiement de votre application sur 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. Cliquez avec le bouton droit sur les points de suspension situés en regard de votre pipeline de build, puis sélectionnez Modifier.Right click on the ellipses next to your build pipeline and select Edit.

  5. Dans Tâches, entrez « Hébergée » pour File d’attente d’agents.In Tasks, enter "Hosted" as the Agent queue.

    Sélectionner la file d’attente d’agents dans le menu Tâches

  6. Dans Phase 1, cliquez sur + et ajoutez une tâche NuGet.In Phase 1, click + and add a NuGet task.

    Ajouter une tâche NuGet dans la file d’attente d’agents

  7. Développez Avancé et ajoutez $(Build.SourcesDirectory)\packages dans le Répertoire de destination.Expand Advanced and add $(Build.SourcesDirectory)\packages to Destination directory. Conservez les valeurs de configuration de NuGet par défaut restantes.Keep the remaining default NuGet configuration values.

    Configurer la tâche de restauration NuGet

  8. Dans Phase 1, cliquez sur + et ajoutez une tâche MSBuild.In Phase 1, click + and add a MSBuild task.

    Ajouter une tâche MSBuild dans la file d’attente d’agents

  9. Modifiez les Arguments MSBuild comme suit :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"
    

    Configurer la tâche MSBuild dans DevOps

  10. Dans Phase 1, cliquez sur + et ajoutez une tâche Déploiement d’un groupe de ressources Azure.In Phase 1, click + and add an Azure Resource Group Deployment task.

    Ajouter une tâche Déploiement d’un groupe de ressources Azure

  11. Développez Détails relatifs à Azure et renseignez la configuration comme suit :Expand Azure Details and fill out the configuration with the following:

    ParamètreSetting Valeur suggéréeSuggested value
    AbonnementSubscription Choisissez votre abonnement.Choose your subscription.
    ActionAction Créer ou mettre à jour un groupe de ressourcesCreate or update resource group
    Groupe de ressourcesResource Group Entrez un nom de groupe de ressources.Enter a resource group name.
    ModèleTemplate [Chemin d’accès de votre solution]\bin\Debug\Deploy\[Nom de votre projet].JobTemplate.json[Your solution path]\bin\Debug\Deploy\[Your project name].JobTemplate.json
    Paramètres de modèleTemplate parameters [Chemin d’accès de votre solution]\bin\Debug\Deploy\[Nom de votre projet].JobTemplate.parameters.json[Your solution path]\bin\Debug\Deploy\[Your project name].JobTemplate.parameters.json
    Remplacer les paramètres du modèleOverride template parameters Tapez les paramètres du modèle à remplacer dans la zone de texte.Type the template parameters to override in the textbox. Exemple : – storageName fabrikam – adminUsername $(vmusername) - adminPassword $(password) – azureKeyVaultName $(fabrikamFibre).Example, –storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre). Cette propriété est facultative, mais votre build provoquera des erreurs si les paramètres clés ne sont pas remplacés.This property is optional, but your build will result in errors if key parameters are not overridden.

    Définir les propriétés pour le déploiement du groupe de ressources Azure

  12. Cliquez sur Enregistrer et mettre en file d’attente pour tester le pipeline de build.Click Save & Queue to test the build pipeline.

    Enregistrer et mettre en file d’attente le build dans DevOps

Échec du processus de générationFailed build process

Vous pouvez recevoir des erreurs pour des paramètres de déploiement de valeur Null si vous n’avez pas remplacé des paramètres de modèle dans la tâche Déploiement d’un groupe de ressources Azure de votre pipeline de build.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. Retournez dans le pipeline de build et remplacez les paramètres de valeur Null pour résoudre l’erreur.Return to the build pipeline and override the null parameters to resolve the error.

Échec du processus de génération Stream Analytics DevOps

Valider et envoyer les modifications pour déclencher une mise en productionCommit and push changes to trigger a release

Vérifiez que le pipeline d’intégration continue fonctionne en archivant certaines modifications de code dans Azure DevOps.Verify that the continuous integration pipeline is functioning by checking in some code changes to Azure DevOps.

Lorsque vous écrivez votre code, vos modifications sont suivies automatiquement par Visual Studio.As you write your code, your changes are automatically tracked by Visual Studio. Validez les modifications dans votre référentiel Git local en sélectionnant l’icône de modifications en attente dans la barre d’état située en bas à droite.Commit changes to your local Git repository by selecting the pending changes icon from the status bar in the bottom right.

  1. Dans la vue Modifications de Team Explorer, ajoutez un message décrivant votre mise à jour, puis validez vos modifications.On the Changes view in Team Explorer, add a message describing your update and commit your changes.

    Valider les modifications de référentiel dans Visual Studio

  2. Sélectionnez l’icône de modifications non publiées dans la barre d’état ou la vue Synchronisation de Team Explorer.Select the unpublished changes status bar icon or the Sync view in Team Explorer. Sélectionnez Envoi (push) pour mettre à jour votre code dans Azure DevOps.Select Push to update your code in Azure DevOps.

    Envoyer (push) les modifications depuis Visual Studio

L’envoi (push) des modifications à Azure DevOps Services déclenche automatiquement une build.Pushing the changes to Azure DevOps Services automatically triggers a build. Une fois le pipeline de build terminé, une mise en production est créée automatiquement et commence la mise à jour du travail sur le cluster.When the build pipeline successfully completes, a release is automatically created and starts updating the job on the cluster.

Supprimer des ressourcesClean up resources

Lorsque vous n’en avez plus besoin, supprimez le groupe de ressources, le travail de streaming et toutes les ressources associées.When no longer needed, delete the resource group, the streaming job, and all related resources. La suppression du travail évite la facturation des unités de streaming consommées par le travail.Deleting the job avoids billing the streaming units consumed by the job. Si vous envisagez d’utiliser le travail à l’avenir, vous pouvez l’arrêter et le redémarrer plus tard lorsque vous en avez besoin.If you're planning to use the job in future, you can stop it and re-start it later when you need. Si vous ne pensez pas continuer à utiliser ce travail, supprimez toutes les ressources créées au cours de ce didacticiel en procédant comme suit :If you are not going to continue to use this job, delete all resources created by this tutorial by using the following steps:

  1. Dans le menu de gauche du portail Azure, cliquez sur Groupes de ressources, puis sur le nom de la ressource que vous avez créée.From the left-hand menu in the Azure portal, click Resource groups and then click the name of the resource you created.
  2. Sur la page de votre groupe de ressources, cliquez sur Supprimer, tapez le nom de la ressource à supprimer dans la zone de texte, puis cliquez sur Supprimer.On your resource group page, click Delete, type the name of the resource to delete in the text box, and then click Delete.

Étapes suivantesNext steps

Pour en savoir plus sur l’utilisation des outils Azure Stream Analytics pour Visual Studio afin de configurer un processus de déploiement et d’intégration continus, passez à l’article relatif à la configuration d’un 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: