Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Comparison of CI Servers? [closed]

People also ask

What is the most popular CI CD tool?

1. Jenkins. This free, open-source Java-based software is among the most popular CI/CD tools on the market. It combines tools for continuous delivery and integration with real-time testing and reporting.

What are CI servers?

What does a CI server do? A continuous integration server (sometimes known as a build server) essentially manages the shared repository and acts as a referee for the code coming in. When developers commit to the repository, the CI server initiates a build and documents the results of the build.

Is Jenkins a CI or CD?

Jenkins is a platform for creating a Continuous Integration/Continuous Delivery (CI/CD) environment. The system offers many different tools, languages, and automation tasks to aid in pipeline creation when developing and deploying programs.


No question like this is complete without a link to the big CI Feature Matrix(Web Archive) which lists just about every CI option out there.

But I think it is important to look ahead to the scope of what you want to include in your CI system. Is it going to be just builds or are you going to be bringing in other elements like static analysis, cross-project dependencies, deployments, functional tests, etc. To help with that planning I created this wallchart on the Elements of Enterprise CI (PDF; no registration required). Please don't let the "E-word" put you off; I just mean stuff beyond the basic fast feedback CI build. :)

It isn't tool specific but lists a variety of practices you might consider while you're in the planning/evaluation stages.


Nothing helpful in:

  • Anything better than CruiseControl for .NET CI?
  • Continuous Integration Servers
  • Hudson or Teamcity for continuous integration?
  • What is your experience with CI server git support (Windows)?
  • Language-agnostic automated build and test server for multiple projects
  • Choosing the correct CI Server for my needs.
  • Cruise versus TeamCity versus CruiseControl.NET
  • CruiseControl [.NET] vs TeamCity for continuous integration?
  • etc, etc, etc

EDIT: A pointed out by Jonik in a comment, I missed What is the difference between Hudson and CruiseControl for Java projects? and How and why do I set up a C# build machine?. You'll find very insightful answers. In other words, I think that everything you're looking for is already on Stack Overflow.


TeamCity has a wonderful feature of allowing the developer to perform a personal build before committing. Very useful!

CruiseControl.NET is the granddaddy of the bunch and is hence a little dated visually etc. As it has been around for a while, Google knows how to fix many issues you will come up against.

For these reasons (amongst others), I use CruiseControl.NET at work and TeamCity at home and in my open source life :)


I'm a CruiseControl.NET user all the way. My teams uses it at work and I use it at home for personal projects.

In particular, CruiseControl.NET allows me to run through the whole CI process: builds, version update, unit and integration tests, archival of source or release candidate, code coverage, even deployment to our test system at work. It's highly customizable, works well with MSBuild and NAnt, and even had an extensible plug-in architecture.

It pretty much does everything I need.

The biggest disadvantage: configuration is sometimes a pain, and can take time. But once it's done, it's done, and as another poster said, I love seeing the "successful build" signal because I know that not only did the build itself work, but that also that my unit and integration tests all ran successfully.


Team Foundation Build is an option as well as it interacts very well with Team Foundation Server. It's free as long as long you've licensed TFS.