2017-10-18 35 views
0

Création réussie d'un projet MVC à l'aide d'un agent de construction de base, c'est-à-dire un agent créé en utilisant uniquement le processus de téléchargement et de configuration des pools d'agents de TFS. De la lecture de nombreux messages SO et de l'observation lors de l'ajout de tâches à ma définition de construction, j'ai compris qu'un agent de construction «de base» pouvait construire un projet, mais apparemment rien d'autre. Par exemple, je comprends que pour exécuter des tests unitaires sur l'agent de build, Visual Studio devra être installé. Mais j'avais (naïvement) supposé qu'au moins MSBuild était installé sur l'agent de compilation; ça ne semble pas.Qu'est-ce qui est requis sur un agent de construction pour faire plus que simplement construire le projet?

Question 1: S'il vous plaît confirmer si MSBuild doit être installé afin d'ajouter des tâches MSBuild supplémentaires à mes définitions de construction? Puis-je installer seulement MSBuild? Question 1a: Si MSBuild ne figure pas dans l'agent de construction de base, comment l'agent de construction utilise-t-il la génération de projets?

Question 2: Si je veux faire des tests unitaires sur l'agent de compilation, la version VS (Community 2017) sera-t-elle suffisante, ou dois-je installer la version complète de VS? (J'utilise des versions complètes sur site VS/TFS) Certains autres forums suggérés dans les versions de l'année précédente, la version VS gratuite (je crois appelée Express) était suffisante pour les tests unitaires sur Build Agents.

Question 3: Est-ce que ce sont les seuls 2 'niveaux' de paquets supplémentaires dont j'aurais besoin sur un Build Agent, MSBuild ou VS? Et si je n'installais MSBuild qu'au début, aurais-je des problèmes pour ajouter VS à l'Agent de construction plus tard parce qu'il installera MSBuild par-dessus l'installation précédente de MSBuild?

Répondre

2

L'agent est juste un coureur de tâche. Si vous souhaitez effectuer des opérations nécessitant Visual Studio normalement, installez Visual Studio. Si vous voulez faire des choses qui nécessitent, disons, NodeJS, installez NodeJS.

Aucune licence n'est requise pour les serveurs de génération, il n'y a donc aucune raison de ne pas installer le plus haut SKU de Visual Studio pour lequel votre organisation possède des licences.

+0

Je ne savais pas qu'il n'y avait aucune exigence de licence. J'ai lu dans de nombreux messages des déclarations où les gens disaient: «J'ai mordu la balle et utilisé une licence», alors j'ai supposé qu'il fallait une licence. THX! Juste curieux, qu'en est-il de ma question sur la façon dont l'agent construit sans MSBuild? – Alan

+0

Vous voulez dire les outils de construction SKU? VS 2017 a installé tous les SKU côte à côte de sorte que vous pouvez rencontrer des problèmes en choisissant le bon pour la construction. Mais si vous - comme moi - avez aussi des projets iOS et Android (pas de Xamarin), vous pouvez utiliser des agents sans VS/msbuild (par exemple, nous avons des mac avec des périphériques connectés exécutant des agents de compilation TFS). –