Partager via


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

Vous pouvez automatiser un Test de charge 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 d’intégration continue (CI) pour appeler un test existant dans Azure Load Testing. 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 de CI de se connecter à votre ressource de test de charge Azure.
  • Ajoutez les fichiers d'entrée du 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. Azure DevOps crée un objet principal de service Microsoft Entra lorsque vous créez la connexion de service.

  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.

    Capture d’écran montrant les sélections pour la création d’un principal de service.

    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.

    Capture d’écran affichant la liste des rôles dans la page Ajouter une attribution de rôle du portail Azure et mettant en exergue le rôle de Contributeur au test de charge.

  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 Test de charge Azure dans un workflow de 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 :

Si vous disposez d’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.

    Capture d’écran montrant la liste de tests pour une ressource de Test de charge Azure

  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.

    Capture d’écran montrant comment télécharger le fichier de résultats d’une série de tests de charge.

  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.

Capture d’écran montrant les informations de journalisation de workflow.

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.

        Capture d’écran montrant comment supprimer une définition Azure Pipelines.

      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.