There is a tremendous variety of choices for CI tools nowadays. They greatly vary on ease of use and also available features, and almost each one of them has some unique features that others will lack. Therefore, it is hard to give a good general recommendation because each project has completely different needs and also a different development workflow. There are, of course, some great free and open source projects, but paid hosted services are also worth researching. It's because open source software, such as Jenkins or Buildbot, are freely available to install without any fee, but it is false thinking that they are free to run. Both hardware and maintenance are added costs of having your own CI system. In some circumstances, it may be less expensive to pay for such a service instead of paying for additional infrastructure and spend time on resolving any issues in open source CI software. Still, you need to make sure if sending your code to any third-party service is in line with security policies at your company.
Here, we will review some of the most popular, free open source tools, as well as paid hosted services. I really don't want to advertise any vendor, so we will discuss only those that are available without any fees for open source projects to justify this rather subjective selection. No best recommendation will be given, but we will point out both the good and bad sides of any solution. If you are still in doubt, the next section, which describes common continuous integration pitfalls, should help you in making good decisions.
Let's take a look at Jenkins in the next section.