We use this solution for continuous integration and deployment, using Groovy Script for pipeline node configuration.
Managing Director at Technocure
Valuable plugins and automation, but the upgrades need improvement
Pros and Cons
- "This solution has helped us in automating the build and test process, reducing time."
- "The upgrades need improvement."
What is our primary use case?
How has it helped my organization?
This solution has helped us in automating the build and test process, reducing time.
What is most valuable?
The most valuable features are plugins that make my server highly available.
What needs improvement?
The upgrades need improvement.
Buyer's Guide
Jenkins
January 2025
Learn what your peers think about Jenkins. Get advice and tips from experienced pros sharing their opinions. Updated: January 2025.
832,138 professionals have used our research since 2012.
For how long have I used the solution?
Three years.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Software Test Automation Engineer at Colpatria
The ability to connect with multiple tools and technologies has helped us increase productivity
Pros and Cons
- "The most valuable feature is its ability to connect with different tools and technologies."
- "This solution would be improved with the inclusion of an Artifactory (Universal artifact repository manager)."
What is our primary use case?
This is our CD solution for Java APIs and Microsites.
How has it helped my organization?
This solution automates the deployment process and therefore increases productivity.
What is most valuable?
The most valuable feature is its ability to connect with different tools and technologies.
What needs improvement?
This solution would be improved with the inclusion of an Artifactory (Universal artifact repository manager).
For how long have I used the solution?
Five years.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Buyer's Guide
Jenkins
January 2025
Learn what your peers think about Jenkins. Get advice and tips from experienced pros sharing their opinions. Updated: January 2025.
832,138 professionals have used our research since 2012.
Software Engineer at a media company with 10,001+ employees
It enables us to perform project-based matrix authentication, but canceling permissions is problematic.
What is most valuable?
- Uno-choice parameters
- Publishing HTML reports
- Emails on builds
- Active Directory
- Role Based and Project Based Matrix Authorisation
How has it helped my organization?
We work on distribution, and are required to build and test packages frequently. Using Jenkins we have configured (generic) and automated the complete build procedure.
What needs improvement?
- There's a plugin Monitoring which have certain issues with some versions of Jenkins
- Jenkins user login and authorization case-insensitive, eg: if user John is given authorization permission then JOHN, JoHN, johN etc. all should be authorized.
- Disabling of cancel permissions to some users in Jenkins is still not working, even if we uncheck the cancel permissions. If build permissions are given to that user, cancel permissions are granted automatically
- Plugin to disable Back button navigation in Jenkins#
- Uploading multiple files using patch parameter in Jenkins
For how long have I used the solution?
I've used it for around six months.
What was my experience with deployment of the solution?
No major issues, it was pretty smooth.
What do I think about the stability of the solution?
With few plusgins, like Monitoring. it crashes.
What do I think about the scalability of the solution?
Not as of now.
How are customer service and technical support?
Customer Service:
No interactoins as of now.
Technical Support:No interactoins as of now.
Which solution did I use previously and why did I switch?
We upgraded from Hudson which is similar.
How was the initial setup?
It was pretty straightforward.
What about the implementation team?
We took it from Open Source so there was no vendor involvement.
What was our ROI?
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Developer at a tech services company with 51-200 employees
It’s not the best looking tool. It’s simple but can be complex and it has a load of plugins available for it.
It’s interesting how many places still don’t use continuous integration tools like Jenkins and how many places don’t automate their deployment systems. If that all sounds like
goobledegook to you, or if it makes sense but you’ve never used anything like it then
this post is for you.
Life before Jenkins
Before we talk about Jenkins I think it’s worth talking about my experience of life before
Jenkins, which will be familiar to a lot of people. Here’s what might have happened in an
average working day pre-Jenkins:
- I would write some code and commit it
- Occasionally a project manager or designer or someone equally focused on interrupting my programming would ask to see the latest version of the project
- I’d update my code and show them and then they’d ask if they could have a play with it from their computer
- 4. I would then interrupt someone in charge of deployment and would ask them to deploy it somewhere
- This person would probably groan (because they’re in the middle of something) and say that they could do it in 15 minutes
- The project manager would roll their eyes and sit at their desk reading emails or updating a GANTT chart (or whatever project managers do) for 30 minutes (because the task the developer was doing took twice as long as expected)
- The deployer would open their FTP program and copy files up to the dev server, or SSH the files up or whatever, possibly missing a few files the first time and then having to do it a second time
- The project manager would complain the work he wanted wasn’t there.
- The deployer would realise he hadn’t updated his code and do the process again
- Three hours later the same thing the process would start again…
It’s a slow, error prone, painful process and we haven’t even talked about deploying to staging or live environments yet. A major problem is also that a lot of people are unsure what the exact state of the project is because they never know if what they’re looking at is up to date.
Jenkins to the rescue!
Here’s how that above process would work with Jenkins running.
- I write some code and commit it.
- Moments later the code is on a development environment without anyone having to do anything.
- The project manager looks at the development environment whenever they want to knowing it has the latest work on it
- The QA tester checks the release on the development environment and clicks a button in Jenkins to deploy to the staging environment.
Simple! (I even added an extra staging deploy part in there to look extra clever)
So, what is Jenkins?
The Jenkins CI (that’s its proper name) website describes it as “an awardwinning
application that monitors executions of repeated jobs, such as building a software project or jobs run by cron.”
So Jenkins is a tool that can be used to do any kind of repetitive task, but the added bonus of Jenkins is that these repeated tasks can be monitored and report information and make it easy for people to initiate these tasks or have them initiated automatically.
So for example, you might have a .Net project which is the server aspect to a project with iOS and Android apps. Jenkins can build and deploy the .Net project whenever changes are made so the latest version is available. The iOS and Android applications can also be built when code is changed and can be deployed via tools like TestFlight.
The “continuous integration” part comes into play when you have multiple developers working on a project. Jenkins is constantly building the latest version of the project from all developers' code so your work is being integrated (and deployed) continually.
I’m not going to get too deep into technical details since you can get those from the Jenkins website or via the excellent “Jenkins: The Definitive Guide” book but I’ll talk about what Jenkins would for a .Net project with a simple HTML/CSS/JS frontend codenamed
“Gumboots”.
- In Jenkins there is a “Gumboots” job which has been configured with the details of a
GitHub repos containing the code for the project - GitHub has been configured to hook into your “Gumboots” job whenever the code
changes - A developer pushes some code to the GitHub repos. GitHub notifies Jenkins about the
new code. - Jenkins gets the new code and runs a build.
- Jenkins has been configured to do a few things when the build is run:
a) It runs a load of automated test cases
b) If those pass it then builds the project using the MSBuild plugiN
c) If that works it then runs a Gulp tasks on the CSS and Javascript to minify them and concatenate them. - If that is all successful, then it will deploy the new code over SSH to the developmenT server
If any of these steps fail, then Jenkins will send an email with details of the problem to people involved in the project and most importantly to the person who wrote the last piece of code that may have broken the build.
Setting up jobs for Android and iOS applications is very similar and follows the pattern of “get code”, “build code”, “deploy code”.
There’s even a Chuck Norris plugin to give you extra feedback about the state of your jobs. Now really, what more could you want?
What next?
I’ve described a basic, but powerful Jenkins job set up. This will do a lot for you, but it can be taken further.
The kind of things that you can get Jenkins to do that might be useful for you are:
- Create a pipeline which pushes a build to dev automatically, then to staging after a
manual QA check and then to live when a release is required. - Integrate Jenkins with an issue tracker like JIRA so that as Jenkins deploys code it tells JIRA what issues have been released
- Get Jenkins to automatically run migration scripts on your databases when deploying and also get Jenkins to do one click rollbacks of your project if things go wrong
- Create a parameterised Jenkins job which takes some input and then spins up a new
server based on that input for you.
There are lots of other tools similar to Jenkins of varying complexity and approaches. These tools are becoming increasingly popular as cloud services which can handle platform
configuration and provisioning as well as the code deployment aspect.
Jenkins has always worked well for me. It’s not the best looking tool, but it has a large
community, it’s simple but can be complex and it has a load of plugins for it.
Hats off to Kohsuke Kawaguchi and the Jenkins team for building us something so useful.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
QA Automation Lead at a tech company with 51-200 employees
Provisioning VMs was an issue during deployment but automation in general has been improved.
What is most valuable?
I can build slaves and extensions through plugins.
How has it helped my organization?
Automation in general has been improved.
What needs improvement?
Provisioning of VMs during deployment.
For how long have I used the solution?
Five years.
What was my experience with deployment of the solution?
Provisioning VMs during deployment was an issue.
What do I think about the stability of the solution?
No issues encountered.
What do I think about the scalability of the solution?
No issues encountered.
How are customer service and technical support?
Customer Service:
Not needed.
Technical Support:Not needed.
Which solution did I use previously and why did I switch?
We previously used Hudson, and CruiseControl.
How was the initial setup?
Initial set-up was straightforward.
What about the implementation team?
We implemented in-house.
Which other solutions did I evaluate?
We compared Jenkins to CruiseControl.
What other advice do I have?
It works.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Project Lead at Mphasis
Your True Friend when you're out (CI/CD)
What is our primary use case?
I use Jenkins for Continous Integration or Continous Deployment to run test case execution in Nightly build atmosphere. Integrating test scripts to Jenkins is easier and it can run based on the frequency mentioned in settings.
How has it helped my organization?
Jenkins has helped us in executing our test scripts without the Dev team during night time. It automatically fetches the latest build or codes and execute all your test scripts and share the report with the respective team and stakeholders.
What is most valuable?
I have found the following features extremely helpful.
- It is open source & user-friendly.
- It can deploy code instantly & generate test reports. The requirements for continuous integration and continuous deployment can be configured manually.
- Integration work is automated.
- It can be integrated with other major tools.
What needs improvement?
They should improve the Version Control tracking system in Jenkins.
For how long have I used the solution?
Three to five years.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Business Technology Analyst at a financial services firm with 10,001+ employees
It provides some excellent plug-ins like Repository connector plugin, Sonar Qube plug in and J-Unit plugin.
What is most valuable?
I used it for building Java applications. It provides some excellent plug-ins like Repository connector plugin, Sonar Qube plug in and J-Unit plugin.
How has it helped my organization?
It provides a very user-friendly methodology to build applications. It can be very easily integrated with your repository containing the source code. It builds your applications in a user-friendly manner by just adding the repository URL.
What needs improvement?
One needs to be very careful with the POM file as it takes all the dependencies from the POM to build the application. I would not call it a drawback but a caution.
For how long have I used the solution?
I've used it for 10 months.
What was my experience with deployment of the solution?
Issues with deployment occur primarily because of incorrect run time dependencies. The stack trace of the console can be used to encounter such problems effectively
What do I think about the stability of the solution?
Occasional technical glitches after upgrades.
What do I think about the scalability of the solution?
Easy to run multiple instances simultaneously.
How are customer service and technical support?
Customer Service:
8/10
Technical Support:7/10
Which solution did I use previously and why did I switch?
We didn't have any solution in place previously.
How was the initial setup?
Initial set-up needs caution in mentioning the dependencies i.e. both runtime and compile time.
What about the implementation team?
We did it in-house.
What's my experience with pricing, setup cost, and licensing?
I believe it's good value.
What other advice do I have?
It can be used effectively with technical expertise.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Java Developer at a financial services firm with 10,001+ employees
Helps with continuous integration but onboarding could be smoother
Pros and Cons
- "Jenkins is stable, user-friendly, and helps with continuous integration. As of today, I can't see any tool that's better than Jenkins."
- "The onboarding of Jenkins should be smoother, and it should have more pipelines available as it's deployed on many different servers."
What is our primary use case?
I primarily use Jenkins to deploy APIs for microservices, creating pipelines and providing the source code link.
How has it helped my organization?
Jenkins helps to maintain continuous integration whenever we make changes in the code and to deploy the code whenever we do any check-ins.
What needs improvement?
The onboarding of Jenkins should be smoother, and it should have more pipelines available as it's deployed on many different servers. We should be able to do minimal configuration changes and deploy our API from multiple regions like AWS, GCP, or virtual environments like VM.
For how long have I used the solution?
I've been using Jenkins for six years.
What do I think about the stability of the solution?
Jenkins works perfectly well - we've never faced any outages or issues with it.
How was the initial setup?
The initial setup isn't difficult.
What about the implementation team?
We implemented using an in-house team.
What other advice do I have?
Jenkins is stable, user-friendly, and helps with continuous integration. As of today, I can't see any tool that's better than Jenkins. If you have very few APIs which can be deployed manually, I wouldn't recommend Jenkins. However, I would recommend it for those with multiple APIs and many clients, who are doing code changes on a daily basis. I would give Jenkins a rating of seven out of ten.
Which deployment model are you using for this solution?
Private Cloud
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Buyer's Guide
Download our free Jenkins Report and get advice and tips from experienced pros
sharing their opinions.
Updated: January 2025
Product Categories
Build AutomationPopular Comparisons
GitLab
VMware Tanzu Platform
Tekton
Bamboo
AWS CodePipeline
TeamCity
Harness
Chef
CircleCI
AWS CodeStar
Bazel
GoCD
Digital.ai Release
AWS CodeBuild
Travis CI
Buyer's Guide
Download our free Jenkins Report and get advice and tips from experienced pros
sharing their opinions.
Quick Links
Learn More: Questions:
- What are the differences among Jenkins, Urbancode build and ElectricAccelerator?
- How does Tekton compare with Jenkins?
- What are the differences among Jenkins, Urbancode build and ElectricAccelerator?
- When evaluating Build Automation, what aspect do you think is the most important to look for?
- Should project automation software be integrated with cloud-based tools?
- Is there a need for workflow automation?
- What is the Robotic Process Automation (RPA) life cycle?
- What is Automation as a Service (AaaS)?
- Why is Build Automation important for companies?
Good review!