0

Successfully building an MVC project using a basic build agent, meaning an agent created using only the TFS 'Agent Pools' download and setup process.

From reading many SO posts and observation while trying to add Tasks to my Build Definition I have come to understand that a 'basic' Build Agent can build a project but seemingly do little else. For example, I understand that to run unit tests on the Build Agent, Visual Studio will need to be installed. But I had (naively) assumed at least MSBuild was installed on the Build Agent; it seems not.

Question 1: Please confirm if MSBuild must be installed in order to add additional MSBuild tasks to my Build Definitions? Can I install just MSBuild? Question 1a: If MSBuild is not on the basic Build Agent, what is the Build Agent using to build projects?

Question 2: If I want to do unit tests on the Build Agent, will the free VS version (Community 2017) be sufficient, or do I need to install the full version of VS? (I am running full VS/TFS onsite versions) Some other forums suggested in prior year versions the free VS version (I believe called Express) was sufficient for unit testing on Build Agents.

Question 3: Are these the only 2 'levels' of added packages I would ever need on a Build Agent, MSBuild or VS? And if I only installed MSBuild at first, would I run into problems adding VS to the Build Agent later because it will install MSBuild over the previous MSBuild install?

Alan
  • 1,587
  • 3
  • 23
  • 43

1 Answers1

2

The agent is just a task runner. If you want to do things that require Visual Studio normally, install Visual Studio. If you want to do things that require, say, NodeJS, install NodeJS.

There is no licensing requirement for build servers, so there is no reason to not install the highest SKU of Visual Studio for which your organization owns licenses.

Daniel Mann
  • 57,011
  • 13
  • 100
  • 120
  • I did not know there was no licensing requirement. I read in many posts statements where people said 'I bit the bullet and used a license', so I presumed it required a license. Thx! Just curious, what about my question about how the agent builds w/o having MSBuild? – Alan Oct 18 '17 at 22:09
  • You mean the build tools SKU? VS 2017 installed all SKUs side-by-side so you may run into problems choosing the right one for the build. But if you - like me - also have projects that are iOS and Android apps (no Xamarin), you can run on agents without VS/msbuild (e.g. we have macs with connected devices running TFS build agents). – Martin Ullrich Oct 19 '17 at 05:12