Configurez manuellement votre flux de travail CI/CD pour exécuter des tests de charge

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

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

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

  2. Sélectionnez Project settings>Service connections>+ New service connection.

  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 l’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 illustrant les options disponibles pour gérer un principal de service.

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

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

  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 qui affiche la liste des rôles dans la page Ajouter une attribution de rôle dans le portail Azure, mettant en évidence le rôle Contributeur de 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 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 :

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 :

  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 qui affiche la liste des tests d’une ressource Test de charge Azure 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.

    Capture d’écran illustrant comment télécharger le fichier de résultats d’un test 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 ou .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.
  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

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.

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

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

  1. Connectez-vous à votre organisation Azure DevOps (https://dev.azure.com/<your-organization>), puis 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.

    Vous pouvez également sélectionner Create Pipeline pour créer un 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 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. Définissez waitForCompletion: false si vous souhaitez continuer sans attendre la fin de l’exécution du test de charge.

  4. Utilisez la tâche publish pour 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.

Capture d’écran illustrant les informations relatives à la journalisation du flux de travail.

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. Supprimez les modifications d'Azure Pipelines.

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

    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 qui montre 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 Project settings>Service connections, 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.