Jenkins - Save money, time, and sanity.
August 25, 2016

Jenkins - Save money, time, and sanity.

Thomas Gorence | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Review Source

Overall Satisfaction with Jenkins

Jenkins is used extensively in our engineering department. It's used to automate builds for Go, NodeJS, .NET, iOS, and Android projects. It greatly reduces the amount of time needed to compile updates, and allows us to share build scripts across repositories for setting up new jobs quickly.
  • Jenkins abstracts the build/compile process, so that a local development machine doesn't need to constantly be updated or contain all of the libraries/packages required for more extensive builds.
  • Jenkins allows extremely customized and parameterized builds, allowing non-technical coworkers to initiate builds and set their own parameters.
  • Jenkins has a large collection of plugins that can retrieve and send build data/artifacts to/from various services, and can also hook into many popular apps like Slack and Hipchat.
  • The user interface of Jenkins (2.0 and prior) still leaves a bit to be desired. Many of the options and configurations options are not where you would expect when first starting to learn Jenkins.
  • Jenkins tends to require a bit more overhead than I would like in terms of RAM and dependencies.
  • Some Jenkins plugins can break Jenkins in unexpected ways, without Jenkins gracefully handling errors. This is one area that could be greatly improved, with minimal effort.
  • Jenkins has saved us countless hours, and allows us to launch additional jenkins servers as needed for larger jobs/teams.
  • Since Jenkins is free, it has no negative impact on budgeting, and is simple enough that any lost time due to training is negligible compared to the time saved.
I greatly prefer Jenkins to other build systems like Maven and Ant, due to its incredible flexibility.
Jenkins is very well suited for an environment/project where source code must be built constantly. It allows you to initiate a build on a remote machine (if set up that way), and continue on your development machine while the build takes place.