Limitations of Team Foundation Server Builds

Go To


What are the limitations of TFS in heterogeneous development environments?

I have little expirience with Jenkins and like the possibility to run all those different kinds of jobs, like Ant, Maven, CMD, Powershell, ...

  • Is it possible to check coding conventions when building a java project with team foundation server? I do not know how java builds with TFS work. I saw a presentation form Microsoft and the guy mentioned Maven and Ant Tasks. So I assume it can be done with a checkstyle plugin in Maven.

  • Is it possible to run CMD skripts?

2012-04-04 07:14
by cuh
I believe Martin Woodward of Visual Studio / TEE team addressed a related question on this post. Also read Brian Harry's post on this - KMoraz 2012-04-04 09:33


The tool mentioned is probably the Team Foundation Server Build Extensions Power Tool December 2011.

These add the ability to trigger standard Java build scripts from Team Build.

The Java build processes just invoke maven or ant, so any task that checks code quality in these build tools should work just fine in Team Build. The team at Microsoft choose not to make a complex build template for the Java people, as they are well accustomed to their own build tools. So the build process templates to execute a Java build aver very thin by default. Everything is done through standard Java tooling. Team Build just invokes these and gathers the output.

As for executing command scripts and other executables as part of the build, there's a number of ways you can do this. The right way depends on the thing you want to accomplish.

  • If you want to execute something as part of the building of the binaries, you can use the msbuild exec task or an equivalent task in ant/maven.
  • If you want to execute something after all binaries have been built (say to trigger deployment) you can use a Build Activity in the build process template to execute a process
  • if you want to execute something before building the binaries on a build agent, you can use the same activity, but you should place it in a different place in the workflow.

The Visual Studio lab management build template and the Build Deploy Test build template serve as a good starting point to learn more about the possibilities of invoking processes during the build process.

As mentioned in other answers, the SVNBridge and possibly Git2tfs might provide alternative ways for the Java team members to access sources in TFS. They can then use the existing ant/maven tasks to get the sources and build the code.

2012-04-04 18:48
by jessehouwing


You are very likely to get a lot of personal opinions on the use of TFS and whether or not it is a good fit, especially for JAVA development. That said, for the purposes of plugging in ANT/Maven/Jenkins you could install SVNBridge to give you the same functionality as you'd find with SVN.

It doesn't mean that there aren't plugins for TFS to support the tools, I've just found SVN related plugins are a lot more accessible.

2012-04-04 08:24
by radimpe