Configurer manuellement votre workflow CI/CD pour exécuter des tests de charge

Vous pouvez automatiser un test de charge dans Azure Load Testing 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 Azure Load Testing. Automatisez un test de charge pour 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 JMeter et la configuration YAML du test de charge.
  • Mettez à jour la définition de pipeline CI/CD pour appeler le test de charge Azure.

Prérequis

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 workflow CI/CD et attribuez le rôle RBAC Azure de contributeur au test de charge.

Créer une connexion de service dans Azure Pipelines

Dans Azure Pipelines, créez une connexion de service dans votre projet 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 principal de service Microsoft Entra.

  1. Connectez-vous à votre organisation Azure DevOps (https://dev.azure.com/<your-organization>) et sélectionnez votre projet.

    Remplacez l’espace réservé de texte <your-organization> par votre identificateur de projet.

  2. Sélectionnez Paramètres de projet>Connexions de service>+ Nouvelle connexion de service.

  3. Dans le volet Nouvelle connexion de service, sélectionnez Azure Resource Manager, puis sélectionnez Suivant.

  4. Sélectionnez la méthode d’authentification Principal de service (automatique), puis Suivant.

  5. 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 une autorisation d’accès à tous les pipelines Coché.
  6. 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.

    Screenshot that shows selections for managing a service principal.

    Le portail Azure s’ouvre dans un onglet de navigateur séparé et affiche les détails du principal du service.

  7. Copiez la valeur Nom d’affichage dans le portail Azure.

    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 au service Test de charge Azure

Le Test de charge Azure utilise le contrôle d’accès en fonction du rôle (RBAC) Azure pour accorder des autorisations afin d’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.

  1. Dans le Portail Azure, accédez à votre ressource de test de charge Azure.

  2. Sélectionnez Contrôle d’accès (IAM)>Ajouter>Ajouter une attribution de rôle.

  3. Sous l’onglet Rôle, sélectionnez Contributeur au test de charge dans la liste des rôles de fonction de travail.

    Screenshot that shows the list of roles in the Add role assignment page in the Azure portal, highlighting the Load Test Contributor role.

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

  5. Sélectionnez le principal du service, puis choisissez Sélectionner.

  6. 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 workflow 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 Azure Load Testing 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 n’avez pas de test de charge existant, 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 de plan de test. Pour les tests JMeter, ajoutez un script de test JMeter (JMX fichier). Pour les tests basés sur des URL, ajoutez un fichier JSON de requête.
  • 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. Effectuez les étapes suivantes pour télécharger les fichiers d’entrée d’un test de charge existant dans le Portail Azure :

  1. Dans le Portail Azure, accédez à votre ressource de test de charge Azure.

  2. Dans le volet de gauche, sélectionnez Tests pour afficher la liste des tests, puis sélectionnez votre test.

    Screenshot that shows the list of tests for an Azure Load Testing resource.

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

    Screenshot that shows how to download the results file for a load test run.

  4. 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.
    • .jmx : le script de test JMeter
    • 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.
  5. 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

Azure Load Testing prend en charge GitHub Actions et Azure Pipelines pour l’exécution de tests de charge.

Installer l'extension de Test de charge pour Azure DevOps

Pour créer et exécuter un test de charge, la définition du workflow Azure Pipelines utilise l’extension de tâche Test de charge Azure disponible dans la Place de marché Azure DevOps.

  1. Ouvrez l’extension de tâche Test de charge Azure dans la Place de marché Azure DevOps, puis sélectionnez Obtenir gratuitement.

  2. Sélectionnez votre organisation Azure DevOps, puis sélectionnez Installer pour installer l’extension.

    Si vous n’avez pas de privilèges d’administrateur pour l’organisation Azure DevOps sélectionnée, sélectionnez Demander pour demander à un administrateur d’installer l’extension.

Mettre à jour le workflow Azure Pipelines

Mettez à jour votre workflow Azure Pipelines pour exécuter un test de charge pour votre ressource de test de charge Azure.

  1. Connectez-vous à votre organisation Azure DevOps (https://dev.azure.com/<your-organization>) et sélectionnez votre projet.

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

    Sinon, sélectionnez Créer un pipeline pour créer un nouveau pipeline dans Azure Pipelines.

  3. Utilisez la tâche AzureLoadTest pour 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 de 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é env ou secrets.

  4. Utilisez la tâche publish pour publier les résultats des tests en tant qu’artefacts dans votre exécution de workflow 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.

Screenshot that shows the workflow logging information.

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.

  1. Supprimer les modifications d’Azure Pipelines :

    1. Connectez-vous à votre organisation Azure DevOps (https://dev.azure.com/<your-organization>) et sélectionnez votre projet.

      Remplacez l’espace réservé de texte <your-organization> par votre identificateur de projet.

    2. Si vous avez créé un pipeline » :

      1. Sélectionnez Pipelines, puis choisissez votre pipeline.

      2. Sélectionnez les points de suspension, puis sélectionnez Supprimer.

        Screenshot that shows how to delete an Azure Pipelines definition.

      3. Entrez le nom du pipeline, puis sélectionnez Supprimer pour supprimer le pipeline.

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

  2. Supprimez la connexion de service :

    1. Sélectionnez Paramètres de projet>Connexions de service, puis sélectionnez votre connexion de service.
    2. 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.