TFS 2008/2010 vs Jenkins for continuous integration

Does anyone have special experience using TFS 2008/2010 and Jenkins for continuous integration (CI)? We are trying to decide which CI server to use. Our team works exclusively in Microsoft.NET/Visual Studio 2010 / C #. We have the following requirements:

  • Automatically create our web project at every stage of registration.
  • Run unit tests with each assembly.
  • Automatically deploy green assemblies for development and / or testing environments.
  • Provide beautiful reports.
  • Provide email notifications of creation / deployment.

I understand that installing the tool will not necessarily give us this functionality out of the box and that we will need to integrate with other tools such as MSBuild to achieve this.

I am looking for specific functions that Jenkins has that TFS 2008/2010 does not or vice versa. Also which is easier to maintain, use, etc.

+10
tfs continuous-integration jenkins tfs2010 tfs2008
Oct 05 '11 at 23:01
source share
3 answers

I would highly recommend using Jenkins - it will fulfill all your requirements out of the box, with the possible exception of # 3, but if you can deploy the script, then it can do it too.

Here are some links to help you create and run your builds:

Jenkins .NET Blog

Jenkins Installers for Windows

Installing Jenkins Master and Slaves as Windows Services

Disclaimer: I have no experience with TFS, but I believe that open source solutions are almost always more flexible and extensible (and cheaper!) Than proprietary products.

+11
Oct 06 2018-11-11T00:
source share

Late to this game, but I used both TFS 2010 and Jenkins for CI. TFS 2010 has a minimal set of CI tools. However, when you want to create a CI pipeline, this is a completely different story, while Jenkins can easily create a pipeline.

If you are only looking for CI for one assembly, then you need to work. However, when it comes to the entire assembly line, Jenkins is the way to go. This can be done with TFS, but Jenkins is the best choice.

Here are the quick points:

TFS:

  • Using the build definition, you can compile, run tests, return a set of changes / workitems, send email when a build fails

  • natural integration with visual studio

  • It is extremely difficult to create a CI pipeline. Requires a custom handler and advanced workflow. Not as intuitive as creating an assembly definition.

  • Because of the 3rd console, it is not easy to maintain / tune / scale the CI pipeline

Jenkins

  • It is necessary to create a msbuild configuration file for CI, which does not hurt much compared to creating a CI pipeline using TFS. However, TFS provides a better / simpler tool for creating assembly definitions. however, it’s nice to create a configuration file for msbuild for the project.

  • Creating a CI pipeline is very simple. Just connect them with the trigger of the task up / down the stream of jittings and transfer the artifact from the previous task.

  • Since Jenkins is very flexible, it’s easy to create a jenkins plugin to meet your own needs and provide it to the open-source community :)

In conclusion, if you need a fully automated build, testing, and deployment, check out Jenkins. If you just need to build and test, TFS can give you an edge over Jenkins.

+7
Sep 06 '13 at 16:07
source share

If you use Team 2010-2012, there is no reason to attract Jenkins. The team has all the features you specified, and the build process is ridiculously flexible.

Please note that if you are stuck in Team 2008 or earlier, you should take a serious look at Jenkins - 2008 and earlier versions are quite primitive and inflexible compared to 2010 or later.

+1
05 Feb '13 at 18:54
source share



All Articles