Utiliser Azure DevOps pour créer un pipeline CI/CD pour une tâche Stream Analytics

Dans cet article, vous allez apprendre à créer des pipelines Azure DevOps build et release à l’aide des outils Azure Stream Analytics CI/CD.

Valider votre projet Stream Analytics

Avant de commencer, validez vos projets Stream Analytics complets en tant que fichiers sources dans un référentiel Azure DevOps. Vous pouvez référencer cette exemple de référentiel et le code source du projet Stream Analytics dans Azure Pipelines.

Les étapes décrites dans cet article utilisent un projet Stream Analytics Visual Studio Code. Si vous utilisez un projet Visual Studio, suivez les étapes décrites dans Automatiser les builds, les tests et les déploiements d’une tâche Azure Stream Analytics à l’aide des outils CI/CD.

Créer un pipeline de build

Dans cette section, vous découvrez comment créer un pipeline de build.

  1. Ouvrez un navigateur web et accédez à votre projet dans Azure DevOps.

  2. Sous Pipelines dans le menu de navigation gauche, sélectionnez Builds. Sélectionnez ensuite Nouveau pipeline.

    Create new Azure Pipeline

  3. Sélectionnez Utiliser l’éditeur classique pour créer un pipeline sans YAML.

  4. Sélectionnez votre type de source, votre projet d’équipe et votre référentiel. Sélectionnez ensuite Continuer.

    Select Azure Stream Analytics project

  5. Dans la page Sélectionner un modèle, sélectionnez Projet vide.

Installer le package npm

  1. Dans la page Tâches, sélectionnez le signe plus en regard de Travail d’agent 1. Entrez npm dans la recherche de tâches et sélectionnez npm.

    Select npm task

  2. Donnez à la tâche un nom d’affichage. Définissez l'option Commande sur Personnalisée, puis entrez la commande suivante dans Commande et arguments. Conservez les options par défaut restantes.

    install -g azure-streamanalytics-cicd
    

    Enter configurations for npm task

Suivez les étapes ci-dessous si vous devez utiliser l’agent Linux hébergé :

  1. Sélectionnez votre spécification d’agent.

    Screenshot of selecting agent specification.

  2. Dans la page Tâches, sélectionnez le signe plus en regard de Travail d’agent 1. Entrez « ligne de commande » dans la recherche de tâches, puis sélectionnez Ligne de commande.

    Screenshot of searching commandline task.

  3. Donnez à la tâche un nom d’affichage. Entrez la commande suivante dans Script. Conservez les options par défaut restantes.

    sudo npm install -g azure-streamanalytics-cicd --unsafe-perm=true --allow-root
    

    Screenshot of entering script for cmd task.

Ajoutez une tâche de build

  1. Dans la page Variables , sélectionnez + Ajouter dans Variables de pipeline. Ajoutez les variables suivantes. Définissez les valeurs suivantes en fonction de vos préférences :

    Nom de la variable Valeur
    projectRootPath [YourProjectName]
    outputPath Sortie
    deployPath Déployer
  2. Dans la page Tâches, sélectionnez le signe plus en regard de Travail d’agent 1. Recherchez Ligne de commande.

  3. Donnez à la tâche un nom d’affichage et entrez le script suivant. Modifiez le script avec le nom de votre référentiel et le nom de votre projet.

    Remarque

    Il est vivement recommandé d’utiliser build --v2 pour générer un modèle ARM pour des déploiements. Le nouveau modèle ARM compte moins de paramètres tout en conservant les mêmes fonctionnalités que la version précédente.

    Veuillez noter que l’ancien modèle ARM sera bientôt déconseillé. Seuls les modèles créés à l’aide de build --v2 recevront des mises à jour et des correctifs de bogues.

    azure-streamanalytics-cicd build --v2 -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(deployPath)
    

    L’image utilise un projet Stream Analytics Visual Studio Code à titre d’exemple.

    Enter configurations for command-line task visual studio code

Ajouter une Tâche de test

  1. Dans la page Variables , sélectionnez + Ajouter dans Variables de pipeline. Ajoutez les variables suivantes. Modifiez les valeurs avec le chemin de sortie et le nom du référentiel.

    Nom de la variable Valeur
    testPath Test

    Add pipeline variables

  2. Dans la page Tâches, sélectionnez le signe plus en regard de Travail d’agent 1. Recherchez Ligne de commande.

  3. Donnez à la tâche un nom d’affichage et entrez le script suivant. Modifiez le script avec le nom de votre fichier projet et le chemin d’accès au fichier de configuration de test.

    Pour plus d’informations sur la façon d’ajouter et de configurer des cas de test, consultez Instructions de test automatisées.

    azure-streamanalytics-cicd test -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(testPath) -testConfigPath $(projectRootPath)/test/testConfig.json 
    

    Enter configurations for command-line task

Ajouter une tâche de copie des fichiers

Vous devez ajouter une tâche de copie des fichiers pour copier le fichier de résumé de test et les fichiers de modèle Azure Resource Manager dans le dossier de l’artefact.

  1. Dans la page Tâches, sélectionnez + en regard de Tâche d’agent 1. Recherchez Copier des fichiers. Entrez ensuite les configurations suivantes. En affectant des ** à Contenus, tous les fichiers des résultats des tests sont copiés.

    Paramètre Entrée
    Nom complet Copier des fichiers vers : $(build.artifactstagingdirectory)
    Dossier source $(system.defaultworkingdirectory)/$(outputPath)/
    Contenu **
    Dossier cible $(build.artifactstagingdirectory)
  2. Développez Options de contrôle Sélectionnez Même en cas d'échec d'une tâche antérieure, sauf si la build a été annulée dans Exécuter cette tâche.

    Enter configurations for copy task

Ajouter une tâche Publier des artefacts de build

  1. Dans la page Tâches, sélectionnez le signe plus en regard de Travail d’agent 1. Recherchez Publier des artefacts de build et sélectionnez l’option accompagnée d'une icône de flèche noire.

  2. Développez Options de contrôle Sélectionnez Même en cas d'échec d'une tâche antérieure, sauf si la build a été annulée dans Exécuter cette tâche.

    Enter configurations for publish task

Enregistrer et exécuter

Après avoir ajouté les tâches npm, ligne de commande, copier les fichiers et publier les artefacts de build, sélectionnez Enregistrer et mettre en file d'attente. Quand vous y êtes invité, entrez un commentaire d’enregistrement et sélectionnez Enregistrer et exécuter. Vous pouvez télécharger les résultats des tests à partir de la page Résumé du pipeline.

Vérifier les résultats de build et de test

Le fichier de résumé de test et les fichiers de modèle Azure Resource Manager se trouvent dans le dossier Publié.

Check build and test result

Check artifacts

Mettre en production avec Azure Pipelines

Dans cette section, vous découvrez comment créer un pipeline de mise en production.

Ouvrez un navigateur web et accédez à votre projet Azure Stream Analytics Visual Studio Code.

  1. Sous Pipelines dans le menu de navigation gauche, sélectionnez Mises en production. Sélectionnez ensuite Nouveau pipeline.

  2. Sélectionnez Démarrer par une tâche vide.

  3. Dans la zone Artefacts, sélectionnez + Ajouter un artefact. Sous Source, sélectionnez le pipeline de build que vous venez de créer, puis Ajouter.

    Enter build pipeline artifact

  4. Remplacez le nom de Étape 1 par Travail de déploiement dans l’environnement de test.

  5. Ajoutez une nouvelle étape et nommez-la Travail de déploiement dans l'environnement de production.

Ajouter des tâches de déploiement

Remarque

Le Override template parameters n’est pas applicable aux builds ARM --v2, car les paramètres sont transmis en tant qu’objets. Pour résoudre ce problème, nous vous recommandons d’inclure un script PowerShell dans votre pipeline pour lire le fichier de paramètres au format JSON et apporter les modifications nécessaires aux paramètres.

Si vous souhaitez obtenir plus d’informations sur l’ajout du script PowerShell, veuillez vous reporter aux rubriques ConvertFrom-Json et Object de mise à jour dans un fichier JSON.

  1. Dans la liste déroulante des tâches, sélectionnez Travail de déploiement dans l’environnement de test.

  2. Sélectionnez + en regard de Tâche d'agent et recherchez Déploiement du modèle ARM. Entrez les paramètres suivants :

    Paramètre Valeur
    Nom complet Deploy myASAProject
    Abonnement Azure Choisissez votre abonnement.
    Action Créer ou mettre à jour un groupe de ressources
    Resource group Choisissez un nom pour le groupe de ressources de test qui contiendra votre travail Stream Analytics.
    Emplacement Sélectionnez l’emplacement de votre groupe de ressources de test.
    Emplacement du modèle Artefact lié
    Modèle $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
    Paramètres de modèle $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
    Remplacer les paramètres du modèle -<arm_template_parameter> "votre valeur". Vous pouvez définir les paramètres à l’aide de Variables.
    Mode de déploiement Incrémentiel
  3. Dans la liste déroulante des tâches, sélectionnez Travail de déploiement dans l’environnement de production.

  4. Sélectionnez + en regard de Tâche d'agent et recherchez Déploiement du modèle ARM. Entrez les paramètres suivants :

    Paramètre Valeur
    Nom complet Deploy myASAProject
    Abonnement Azure Choisissez votre abonnement.
    Action Créer ou mettre à jour un groupe de ressources
    Resource group Choisissez un nom pour le groupe de ressources de production qui contiendra votre travail Stream Analytics.
    Emplacement Sélectionnez l’emplacement de votre groupe de ressources de production.
    Emplacement du modèle Artefact lié
    Modèle $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
    Paramètres de modèle $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
    Remplacer les paramètres du modèle -<arm_template_parameter> "votre valeur"
    Mode de déploiement Incrémentiel

Créer une mise en production

Pour créer une mise en production, sélectionnez Créer une mise en production dans le coin supérieur droit.

Create a release using Azure Pipelines

Étapes suivantes