Il existe de nombreuses façons d'exécuter des tests ATS sur Azure DevOps. Voici un bref aperçu de la solution que nous avons mise en œuvre, qui pourrait vous donner quelques conseils et astuces pour mettre en œuvre la vôtre.
Pour fonctionner, Azure Pipeline s'appuie sur deux types d'agents :
- Hébergement Microsoft : Les agents sont hébergés dans le nuage Microsoft et de nombreuses plateformes sont proposées. Pour plus d'informations : https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops
- Hébergement autonome : vous pouvez télécharger le programme d'installation de l'agent et l'héberger vous-même dans l'environnement de votre choix. Pour plus d'informations : https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/agents?view=azure-devops&tabs=browser#installNous utilisons des agents auto-hébergés et c'est la solution qui sera décrite dans cet article. Toutefois, il est tout à fait possible d'adapter les informations ci-dessous si vous souhaitez utiliser des agents hébergés sur le nuage Microsoft.
1. Mise en place de l'environnement
Vous pouvez installer l'agent Azure Pipeline sur une machine Linux, MacOS, Windows ou Docker. Dans cet article, nous allons détailler les étapes pour utiliser un agent sur une machine Windows 10. Vous pouvez vous référer à la documentation de Microsoft pour les spécificités des autres plateformes.
Comment télécharger et installer l'agent
Pour commencer, connectez-vous à Azure DevOps et cliquez sur "User settings" puis sur "Personal access tokens":
Suivez les étapes suivantes :
- Créez un nouveau jeton en sélectionnant l'autorisation Pools d'agents (lecture, gestion).
- Revenez à la page d'accueil d'Azure DevOps et cliquez sur Organization settings en bas à gauche.
- Cliquez sur Pools d'agents et sélectionnez le pool par défaut ou créez un nouveau pool auto-hébergé.
- Cliquez sur Nouvel agent et suivez les instructions de la page pour télécharger votre agent.
- Dézippez l'archive téléchargée sur la machine où vous voulez installer l'agent et exécutez config.cmd.
- Suivez le script pour configurer votre agent, y compris le jeton créé précédemment. Lorsque vous avez le choix entre un mode interactif ou en tant que service, choisissez le mode interactif sinon vous ne pourrez pas lancer les tests ATS .
- Une fois votre agent configuré, exécutez run.cmd pour le démarrer.
- Pour plus d'informations sur le téléchargement et l'installation d'un agent Azure Pipeline : https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/v2-windows?view=azure-devops
-
Réglage de la machine
Une fois l'agent installé, plusieurs éléments sont nécessaires au bon fonctionnement des tests ATS :
- Le dossier .actiontestscript : ce dossier doit être présent à la racine du dossier de l'utilisateur qui exécutera l'agent. Il est créé automatiquement et mis à jour lors du lancement d'Agilitest. Si vous ne souhaitez pas installer Agilitest sur la machine où l'agent est installé, vous pouvez copier et coller ce dossier depuis un autre ordinateur où Agilitest est installé. Dans le futur, il sera possible de mettre à jour ce dossier via npm et de l'automatiser dans le pipeline.
- Le JDK doit être installé. Actuellement Agilitest a besoin de JDK version 11 ou plus.
- Maven doit également être installé, vous pouvez le télécharger ici : https://maven.apache.org/download.cgi
2. Créer un nouveau pipeline sur Azure DevOps
Sur Azure DevOps, cliquez sur l'onglet "Pipelines"
Cliquez ensuite sur "Nouvelle canalisation" et indiquez où se trouve le code de votre projet Agilitest
Suivez les instructions pour connecter le pipeline Azure.
Vous pouvez choisir d'utiliser un pipeline préconfiguré pour Maven.
La sélection d'un projet maven permettra à AzuredevOps de gérer directement les dépendances et les bibliothèques externes requises.
- Vous pouvez également démarrer à partir d'un pipeline vide et ajouter une tâche Maven.
- Dans la section pool, changez le type "vmImage" en "name" et entrez le nom du pool que vous avez créé plus tôt.
Modifier la tâche Maven :
- Changer la valeur de "goals" en "clean test".
- Changer la valeur de "javaHomeOption" en "Path"
- Ajouter une propriété "jdkDirectory" et spécifier le chemin d'accès au JDK sur votre machineo Supprimer les propriétés "jdkVersionOption" et "jdkArchitectureOption".
- Ajouter une propriété "mavenVersionOption" avec la valeur "Path"
- Ajoutez une propriété "mavenDirectory" et spécifiez le chemin de Maven sur votre machine
- Ajouter une propriété "mavenSetM2Home" avec la valeur "true"
Votre fichier YAML devrait ressembler à ceci :
Pour plus d'informations sur la tâche Maven : https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/maven?view=azure-devops
Si vous cliquez sur Save and run, le fichier YAML sera ajouté à votre code source et vos tests seront exécutés selon la configuration de votre fichier pom.xml.