Recs.
Updated
The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.
SpecsUpdate
Pros
Pro You can source control your chain of automation
Starting with Jenkins 2.0, the pipeline capability which has been available as a plugin before this version, has been built-in into Jenkins itself. This allows developers to describe their chain of automation in text form, which can be version controlled and put alongside the source tree.
Pro Stable release line for users who want less changes
This is called the Jenkins Long-Term Support (LTS) version and helps to provide the most stable and the most assuring version of the Jenkins CI possible. About every three months a version which has been deemed the most reliable by the community is chosen. After this, it's branched, well-tested features are added if they are missing, it's then tested with the new features, bug fixes are done if necessary and then it's released as the official Jenkins LTS version.
Pro Multiple test environments for different runtime versions
They can be added easily under your Global Configuration.
Pro Supports most of the technological stacks for free by specific plugins
Including, Docker, Amazon EC2 and S3.
Pro User can source control their chain of automation
Starting with Jenkins 2.0, the pipeline capability, which has been available as a plugin before this version, has been built into Jenkins itself. This allows developers to describe their chain of automation in text form, which can be version controlled and put alongside the source tree.
Pro Great community
Jenkins has a large and helpful community, which welcomes new users and provides a great number of tutorials.
Project Website, including links to Blog , Wiki, Docs. Community groups via Jenkins Users ML group.
Cons
Con Poor quality plug-ins that are difficult to combine
There have been several complaints by users regarding the quality of the plug-ins found in Jenkins' official plugin repo. A lot of plugins found in the default plugin directory are no longer actively maintained and as a result, they may be incompatible with later versions of Jenkins or other plugins.
Con Poor documentation
The most useful information found about Jenkins is on StackOverflow and various strange corners of the internet that careful Googling may sometimes find. The actual documentation for Jenkins is poorly organized and extremely vague and outdated. Documentation for plugins, even the plugins most heavily relied upon, is almost non-existent.
Con Plugin overload
The flip side of "highly customizable" is that things most people want to do still require plugins not installed out-of-the-box. Worse, some common capabilities will require multiple plugins to get working right. The overhead of adding so many plugins amplifies many of the other cons. Although 400 plugins exist for Jenkins, that doesn't mean they are all well-maintained and up-to-date.
Con Unstable and lack of plugin integration QA process
Jenkins without plugins is almost useless. All plugins are treated equal and published almost right away.
Because there is no process for testing Jenkins' integration, the overall Jenkins experience is not that great. Furthermore, Jenkins' core and plugins are released on a regular basis, all requiring instant restarts, meaning that updates appear more than once a day!
Con Vulnerable
Vulnerable to cross site and DOS attacks, read article Top 10 Java Vulnerabilities And How To Fix Them.
Recommendations
Comments
Flagged Pros + Cons
Con Outdated Interface
The Jenkins interface seems outdated and clunky by today's standards. It does not follow good design principles, has no whitespace which makes the views feel crowded and confusing.
Pro Highly customizable
Even though Jenkins is pretty functional and useful out of the box, there's a large plugin ecosystem from which the user can choose plugins to integrate into their Jenkins build. This is needed for when the user wants to extend any of the tool's features.