Je configure un nouveau serveur de génération à l'aide de TFS 2015 et après avoir configuré l'agent, lorsque j'ai tenté de mettre une génération en file d'attente, j'ai reçu cette erreur:
Aucun agent avec les fonctionnalités suivantes n'a été trouvé: msbuild, visualstudio, vstest
Comment cela peut-il être résolu?
Installez Visual Studio sur votre agent de génération, puis redémarrez-le. Le redémarrage de l'agent de génération capturera les fonctionnalités ajoutées.
Remarque: Tout d'abord, vous pouvez faire tout cela avec l'édition communautaire et TFS Express 2015 sur votre propre serveur (gratuitement jusqu'à cinq utilisateurs). Ne vous inquiétez donc pas de la nécessité d'utiliser la version en ligne de Visual Studio. ou payer pour Visual Studio Professional.
Il est très facile de mal interpréter le message d'erreur fourni et de partir à la chasse aux oies sauvages pour essayer de le déboguer.
Voici ce que signifie ce message d'erreur vraiment:
"Aucun agent avec les fonctionnalités suivantes n'a été trouvé: msbuild, Visualstudio, vstest .. En fait, je n'ai trouvé aucun agent de construction configuré pour la file d'attente de construction sélectionnée."
Vous pensez donc que cela ne vous concerne pas parce que vous venez de créer un agent de construction?
Peut-être que oui, mais voici ce qui est probablement arrivé:
Aha! Alors voici ce qui se passe quand vous construisez:
Lorsque j'ai enfin compris ce qui s'était passé, je viens de supprimer le pool et la file d'attente nommés de façon originale et de revenir à l'utilisation du pool par défaut.
La prochaine fois, j'essaierai de faire plus attention à ce message lors de la configuration de PowerShell:
Configurez cet agent avec quel pool d'agents? (Le nom du pool par défaut est 'default')
Vous devrez créer une file d'attente sous le pool, mais votre agent devrait alors commencer à fonctionner.
Si vous avez un serveur réel avec une capacité absente de votre agent, vous pouvez vérifier ce que votre agent prend en charge via l'onglet "Capacités" affiché ici. Bien sûr, les msbuild, visualstudio and vstest
sont tous ici :-)
Par défaut, lors de l'utilisation du nouveau système de compilation sur VSO, l'option de compilation hébergée n'est pas sélectionnée, ce qui explique comment j'ai abouti à ce message dans Stack Overflow. Si vous êtes habitué à utiliser un serveur de build VSO, voici ce que vous devez faire:
Créez une version hébergée en accédant à l'onglet Général et en changeant votre file d'attente par défaut en hébergée. Plus d'informations sur les restrictions et comment cela fonctionne ici: https://www.visualstudio.com/get-started/build/hosted-agent-pool
Vous devez installer la version de Visual Studio correspondante sur la machine de génération (où vous avez installé votre agent). Cela ajoutera les outils et fonctionnalités nécessaires au serveur.
Visual Studio est requis car il installe toutes les cibles de construction requises pour générer vos projets.
Une fois installé, vous devez redémarrer le service Windows de l'agent pour qu'il actualise la liste des fonctionnalités.
Etant donné que vous utilisez l'installation Visual Studio sur la machine de génération, cette installation ne compte pas comme une licence supplémentaire.
J'utilisais un esclave de construction Xcode pour construire un projet Xcode.
Et le message d'erreur auquel j'ai abouti dans TFS 2015 était
"Aucun agent n'a été trouvé avec les fonctionnalités suivantes: xcode"
J'ai enregistré un OS X sur le site de la construction de l'esclave .
Dans l'étape "Register Agent", j'ai nommé par l'agent de génération:
>> Register Agent:
Enter agent pool (press enter for default) > My-Xcode-Agent-Pool
Je devais donc sélectionner le "My-Xcode-Agent-Pool" comme file d'attente par défaut dans les paramètres de construction. Source: Agents hébergés par Microsoft
Dans mon cas, après l'installation de MSBuild ( https://www.visualstudio.com/downloads/ , recherchez "Build Tools for Visual Studio 2017"), je devais simplement ajouter le chemin d'accès à MSBuild dans l'environnement PATH variable. L'agent n'a pas détecté MSBuild jusqu'à ce que je l'aie fait.
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin
Je n'ai pas eu à installer l'intégralité de Visual Studio IDE. La réponse choisie pour cette question est tout simplement fausse ...
Ce qui a finalement fonctionné pour moi a été d'aller là où j'ai téléchargé l'agent et lancer:
./config.cmd
remove puis ./config.cmd
pour réinstaller l'agent à partir de la ligne de commande située dans le répertoire de mon agent.
Bien qu'aucune des réponses précédentes n'ait fonctionné pour moi, le message de Simon_Weaver m'a dirigé dans la bonne direction.
Il a mentionné que vstest figurait sur sa liste, mais pas sur la mienne. Je l'ai corrigé en ajoutant une fonctionnalité définie par l'utilisateur appelée "vstest" avec le chemin d'accès complet à vstest.console.exe sous Visual Studio 2017.