Recs.
Updated
Jenkins CI is the leading open-source continuous integration server. Built with Java, it provides over 400 plugins to support building and testing virtually any project.
SpecsUpdate
Pros
Pro Supports most of the technological stacks for free by specific plugins
Including, Docker, Amazon EC2 and S3.
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 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.
Cons
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 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.
Recommendations
Comments
Flagged Pros + Cons
Con Outdated Interface
The Jenkins interface is very outdated and clunky compared to some of the more modern alternatives.
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.