As we all know, almost every company uses a continuous integration tool for various areas of their product. But what is CI (Continuous integration) anyway?
Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day, where isolated changes are immediately tested and reported on when they are added to a larger code base. The goal of CI is to provide rapid feedback so that if a defect is introduced into the code base, it can be identified and corrected as soon as possible. Continuous integration software tools can be used to automate the testing and build a document trail.
Jenkins, is a Java-based CI server package. It is commonly used for Java projects but is suited for .NET projects because Jenkins can work with many common .NET version control systems, can run MSBuild scripts, and has a very active plug-in development community. In general, much of what any CI server does is not .NET specific. The primary component of Jenkins is the server, which runs within a Java servlet container, such as Apache Tomcat.
TeamCity is also a Java-based CI server package. The TeamCity installation and configuration is quick and easy. The fact that it is Java-based should not be an impediment to .NET development shops. The TeamCity server is a main component, but the browser-hosted interface serves as the primary way to administer TeamCity users, agents, projects, and build configurations.
So, let’s have a look at a chart to illustrate the differences between the two:
And a quick summary…
Conclusions and Disclaimers:
In my opinion, if you are a company who is still trying to raise money, then I suggest you go with Jenkins since it does the job quite well. If not, then definitely give TeamCity a try. I’ve tried it myself recently and I am loving it.
Do I work for JetBrains? No I do not. So why am I writing this? Well, a lot of people I talk to claim that Jenkins is God’s gift to integration, but TeamCity has everything that Jenkins has plus more. It is true that Jenkins has far more users and way more conferences throughout the world than TeamCity has, but hey, Jenkins is free and most customers like to go with free open-source solutions than pay for a certain service.
I hope this small comparison article gave you a better overall view about the two.
Written by Amir Najjar of Galil Software