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.
Shane Sep 06 '13 at 16:07 2013-09-06 16:07
source share