Pour fonctionner, Azure Pipeline s'appuie sur deux types d'agents :
- Hébergé par Microsoft : Les agents sont hébergés sur Microsoft Cloud 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
- Auto-hébergé : Vous pouvez télécharger le programme d'installation de l'agent et l'héberger vous-même sur 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#install
Nous utilisons des agents auto-hébergés et c'est la solution qui sera décrite dans cet article. Cependant, il est certainement possible d'adapter les informations ci-dessous si vous souhaitez utiliser des agents hébergés sur le Microsoft Cloud.
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:

- 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 que votre agent est configuré, exécutez exécuter.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 le menu Pipelines :

Cliquez ensuite sur Nouveau pipeline et indiquez où se trouve le code de votre projet Agilitest et suivez les instructions pour y 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.
- Modifiez la tâche Maven :
o Changez la valeur de "goals" en "clean test"
o Changez la valeur de "javaHomeOption" en "Path"
o Ajoutez une propriété "jdkDirectory" et spécifiez le chemin vers le JDK sur votre machine
o Supprimez les propriétés "jdkVersionOption" et "jdkArchitectureOption". et "jdkArchitectureOption"
o Ajoutez une propriété "mavenVersionOption" avec la valeur "Path"
o Ajoutez une propriété "mavenDirectory" et spécifiez le chemin de Maven sur votre machine
o Ajoutez 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.