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.
Ouvrez un navigateur web et accédez à votre projet dans Azure DevOps.
Sous Pipelines dans le menu de navigation gauche, sélectionnez Builds. Sélectionnez ensuite Nouveau pipeline.
Sélectionnez Utiliser l’éditeur classique pour créer un pipeline sans YAML.
Sélectionnez votre type de source, votre projet d’équipe et votre référentiel. Sélectionnez ensuite Continuer.
Dans la page Sélectionner un modèle, sélectionnez Projet vide.
Installer le package npm
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.
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
Suivez les étapes ci-dessous si vous devez utiliser l’agent Linux hébergé :
Sélectionnez votre spécification d’agent.
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.
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
Ajoutez une tâche de build
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 Dans la page Tâches, sélectionnez le signe plus en regard de Travail d’agent 1. Recherchez Ligne de commande.
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.
Ajouter une Tâche de test
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 Dans la page Tâches, sélectionnez le signe plus en regard de Travail d’agent 1. Recherchez Ligne de commande.
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
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.
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)
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.
Ajouter une tâche Publier des artefacts de build
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.
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.
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é.
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.
Sous Pipelines dans le menu de navigation gauche, sélectionnez Mises en production. Sélectionnez ensuite Nouveau pipeline.
Sélectionnez Démarrer par une tâche vide.
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.
Remplacez le nom de Étape 1 par Travail de déploiement dans l’environnement de test.
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.
Dans la liste déroulante des tâches, sélectionnez Travail de déploiement dans l’environnement de test.
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> "your value"
. Vous pouvez définir les paramètres à l’aide de Variables.Mode de déploiement Incrémentiel Dans la liste déroulante des tâches, sélectionnez Travail de déploiement dans l’environnement de production.
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> "your value"
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.