Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez automatiser un test de charge dans Test de charge Azure en créant un pipeline CI/CD. Dans cet article, vous allez apprendre à configurer manuellement GitHub Actions, Azure Pipelines ou d’autres outils CI pour appeler un test existant dans Test de charge Azure. Automatisez un test de charge à valider en continu les performances et la stabilité de votre application sous charge.
Pour ajouter un test de charge existant à un pipeline CI/CD :
- Configurez l’authentification de service pour permettre à l’outil CI de se connecter à votre ressource de test de charge Azure.
- Ajoutez des fichiers d’entrée de test de charge à votre référentiel, tels que le script de test et la configuration YAML de test de charge.
- Mettez à jour la définition du pipeline CI/CD pour appeler Test de charge Azure.
Conditions préalables
- Un compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Un Test de charge Azure. Créez un test de charge basé sur l’URL, utilisez un script JMeter existant ou un script locust existant pour créer un test de charge.
- Une organisation et un projet Azure DevOps. Si vous n'avez pas d'organisation Azure DevOps, vous pouvez créer gratuitement. Si vous avez besoin d’aide pour commencer à utiliser Azure Pipelines, consultez Créer votre premier pipeline.
Configurer l’authentification au service
Pour exécuter un test de charge dans votre workflow CI/CD, vous devez accorder au workflow CI/CD l’autorisation d’accéder à votre ressource de test de charge. Créez un principal de service pour le flux de travail CI/CD et attribuez le rôle de Contributeur de test de charge dans RBAC Azure.
Créer une connexion de service dans Azure Pipelines
Dans Azure Pipelines, vous créez une connexion service dans votre projet de Azure DevOps pour accéder aux ressources de votre abonnement Azure. Lorsque vous créez la connexion de service, Azure DevOps crée un objet de principal de service Microsoft Entra.
Connectez-vous à votre organisation Azure DevOps (
https://dev.azure.com/<your-organization>), puis sélectionnez votre projet.Remplacez l’espace réservé de texte
<your-organization>par votre identificateur de projet.Sélectionnez Project settings>Service connections>+ New service connection.
Dans le volet Nouvelle connexion de service, sélectionnez Azure Resource Manager, puis sélectionnez Suivant.
Sélectionnez la méthode d’authentification Principal de service (automatique), puis Suivant.
Entrez les informations de connexion de service, puis sélectionnez Enregistrer pour créer la connexion de service.
Champ Valeur Niveau de portée Abonnement. Abonnement Sélectionnez l’abonnement Azure qui héberge votre ressource de test de charge. Groupe de ressources Sélectionnez le groupe de ressources qui contient votre ressource de test de charge. Nom de la connexion de service Saisissez un nom unique pour la connexion de service. Accorder l’autorisation d’accès à tous les pipelines Coché. Dans la liste des connexions de service, sélectionnez celle que vous avez précédemment créée, puis sélectionnez Gérer le principal de service.
Le portail Azure s’ouvre dans un onglet de navigateur distinct et affiche les détails du principal de service.
Dans le portail Azure, copiez la valeur Nom d’affichage.
Vous utilisez cette valeur dans l’étape suivante pour accorder des autorisations d’exécution de tests de charge vers le principal de service.
Accorder l’accès à Test de charge Azure
Test de charge Azure utilise Azure RBAC pour accorder des autorisations pour effectuer des activités spécifiques sur votre ressource de test de charge. Pour exécuter un test de charge à partir de votre pipeline CI/CD, vous accordez le rôle de Contributeur au test de charge au principal de service.
Dans le portail Azure, accédez à votre ressource de Test de charge Azure.
Sélectionnez Contrôle d’accès (IAM)>Ajouter>Ajouter une attribution de rôle.
Sous l’onglet Rôle, sélectionnez Contributeur au test de charge dans la liste des rôles de fonction de travail.
Sous l’onglet Membres, choisissez Sélectionner des membres, puis utilisez le nom d’affichage que vous avez précédemment copié pour rechercher le principal de service.
Sélectionnez le principal du service, puis choisissez Sélectionner.
Dans l’onglet Passer en revue + attribuer, sélectionnez Passer en revue + attribuer pour ajouter l’attribution de rôle.
Vous pouvez maintenant utiliser la connexion de service dans votre définition de flux de travail Azure Pipelines pour accéder à votre ressource de test de charge Azure.
Ajouter des fichiers de test de charge dans votre référentiel
Pour exécuter un test de charge avec Test de charge Azure dans un flux de travail CI/CD, vous devez ajouter tous les fichiers d’entrée de test de charge dans votre référentiel de contrôle de code source.
Si vous ne disposez pas de test de charge, ajoutez les fichiers suivants à votre référentiel de code source :
- Fichier YAML de configuration de test de charge. Découvrez comment créer un fichier YAML de configuration de test de charge.
- Fichier du plan de test. Pour les tests basés sur JMeter, ajoutez un script de test JMeter (fichier
JMX). Pour les tests Locust, ajoutez un fichier script de test Locust (.py). Pour les tests basés sur des URL, ajoutez un fichier JSON de requêtes. - Tous les fichiers de propriétés utilisateur JMeter.
- Tous les fichiers de données d’entrée utilisés par votre plan de test. Par exemple, les fichiers de données CSV.
Si vous avez un test de charge existant, vous pouvez télécharger les paramètres de configuration et tous les fichiers d’entrée directement à partir du portail Azure. Procédez comme suit pour télécharger les fichiers d’entrée d’un test de charge existant dans le portail Azure :
Dans le portail Azure, accédez à votre ressource de Test de charge Azure.
Dans le volet de gauche, sélectionnez Tests pour afficher la liste des tests, puis sélectionnez votre test.
Sélectionnez les points de suspension (...) en regard de la série de tests de charge sur laquelle vous travaillez, puis sélectionnez Télécharger le fichier d’entrée.
Le navigateur télécharge un dossier compressé qui contient les fichiers d’entrée de test de charge.
Utilisez n’importe quel outil de compression pour extraire les fichiers d’entrée.
Ce dossier contient les fichiers suivants :
-
config.yaml: fichier de configuration de test de charge YAML. Vous référencez ce fichier dans la définition du workflow CI/CD. -
.jmxou.py: Script de test JMeter ou Locust - Tous les fichiers d’entrée supplémentaires, tels que les fichiers CSV ou les fichiers de propriétés utilisateur nécessaires pour exécuter le test de charge.
-
Commitez tous les fichiers d’entrée extraits vers votre référentiel de contrôle de code source.
Utilisez le référentiel de code source dans lequel vous configurez le pipeline CI/CD.
Mettre à jour la définition de workflow CI/CD
Test de charge Azure prend en charge les GitHub Actions et les Azure Pipelines pour l’exécution de tests de charge.
Installer l’extension Test de charge Azure pour Azure DevOps
Pour créer et exécuter un test de charge, la définition de flux de travail Azure Pipelines utilise la tâche Test de charge Azure à partir de la Place de marché Azure DevOps.
Ouvrez l’extension de tâche Test de charge Azure dans la Place de marché Azure DevOps, puis sélectionnez Getez-le gratuitement.
Sélectionnez votre organisation Azure DevOps, puis Install pour installer l’extension.
Si vous n'avez pas de privilèges d'administrateur pour l'organisation Azure DevOps sélectionnée, sélectionnez Request pour demander à un administrateur d'installer l'extension.
Mettre à jour le flux de travail Azure Pipelines
Mettez à jour votre flux de travail Azure Pipelines pour exécuter un test de charge pour votre ressource de test de charge Azure.
Connectez-vous à votre organisation Azure DevOps (
https://dev.azure.com/<your-organization>), puis sélectionnez votre projet.Sélectionnez Pipelines dans le volet de navigation gauche, sélectionnez votre pipeline, puis sélectionnez Modifier pour modifier la définition de votre workflow.
Vous pouvez également sélectionner Create Pipeline pour créer un pipeline dans Azure Pipelines.
Utilisez la tâche
AzureLoadTestpour exécuter le test de charge.Spécifiez le fichier de configuration de test de charge que vous avez précédemment exporté dans la propriété
loadTestConfigFile.Remplacez les espaces réservés texte
<load-testing-resource>et<load-testing-resource-group>par le nom de votre ressource de test de charge Azure et le groupe de ressources.- task: AzureLoadTest@1 inputs: azureSubscription: $(serviceConnection) loadTestConfigFile: 'config.yaml' loadTestResource: <load-testing-resource> resourceGroup: <load-testing-resource-group>Vous pouvez éventuellement passer des paramètres ou des secrets vers le test de charge à l’aide de la propriété
envousecrets. DéfinissezwaitForCompletion: falsesi vous souhaitez continuer sans attendre la fin de l’exécution du test de charge.Utilisez la tâche
publishpour publier les résultats des tests en tant qu’artefacts dans votre exécution de flux de travail Azure Pipelines.- publish: $(System.DefaultWorkingDirectory)/loadTest artifact: loadTestResults
Voir les résultats des tests de charge
Lorsque vous exécutez un test de charge à partir de votre pipeline CI/CD, vous pouvez afficher les résultats récapitulatifs directement dans le journal de sortie CI/CD. Si vous avez publié les résultats de test en tant qu’artefact de pipeline, vous pouvez également télécharger un fichier CSV pour créer des rapports supplémentaires.
Nettoyer les ressources
Si vous n’avez pas l’intention d’utiliser les ressources que vous avez créées, supprimez-les pour éviter la facturation de frais supplémentaires.
Supprimez les modifications d'Azure Pipelines.
Connectez-vous à votre organisation Azure DevOps (
https://dev.azure.com/<your-organization>), puis sélectionnez votre projet.Remplacez l’espace réservé de texte
<your-organization>par votre identificateur de projet.Si vous avez créé un pipeline » :
Si vous avez modifié une définition de workflow existante, annulez les modifications pour l’exécution du test de charge et enregistrez le workflow.
Supprimez la connexion de service :
- Sélectionnez Project settings>Service connections, puis sélectionnez votre connexion de service.
- Sélectionnez Modifier>Supprimer pour supprimer la connexion de service.
Étapes suivantes
Passez à l’article suivant pour apprendre à identifier les régressions de performances en définissant des critères d’échec de test et en comparant les séries de tests.