We used it for continuous integration and had its latest version in the previous organization. I am now using Azure DevOps.
Manager at Al-kiswani
Open source, flexible, scalable, and easy to use, but needs scheduling features
Pros and Cons
- "It is open source, flexible, scalable, and easy to use. It is easy to maintain for the administrator. It is a continuous integration tool, and its enterprise version is quite mature. It has good integrations and plug-ins. Azure DevOps can also be integrated with Jenkins."
- "Its schedule builds need improvement. It should have scheduling features in the platform rather than using external plug-ins."
What is our primary use case?
What is most valuable?
It is open source, flexible, scalable, and easy to use. It is easy to maintain for the administrator. It is a continuous integration tool, and its enterprise version is quite mature.
It has good integrations and plug-ins. Azure DevOps can also be integrated with Jenkins.
What needs improvement?
Its schedule builds need improvement. It should have scheduling features in the platform rather than using external plug-ins.
For how long have I used the solution?
I used this solution for around one and a half years.
Buyer's Guide
Jenkins
December 2024
Learn what your peers think about Jenkins. Get advice and tips from experienced pros sharing their opinions. Updated: December 2024.
824,067 professionals have used our research since 2012.
What do I think about the scalability of the solution?
It is scalable. We had five users of this solution.
Which solution did I use previously and why did I switch?
We were using another solution from Automic.
How was the initial setup?
It is easy and quick to install. It took us less than an hour.
What about the implementation team?
I installed it. You just need a single resource for its deployment and maintenance.
What's my experience with pricing, setup cost, and licensing?
There is no cost. It is open source.
What other advice do I have?
I would recommend this solution. It is good for small companies but not for big companies. It has a good interface and was easy to customize. We were also using another plug-in to enhance the user interface.
I would rate Jenkins a seven out of ten.
Which deployment model are you using for this solution?
On-premises
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Software Developer at R.L. Heavey & Co Ltd
Streamlines automated testing and building of release candidates, good support material available
Pros and Cons
- "A lot of support material exists via a single web search of exactly what you're looking for."
- "I think an integrated help button, that respected the context of the change/work in hand, would be a worthwhile improvement."
What is our primary use case?
We use this solution for repeatable testing of code for regression and design conformance in a medical and scientific environment.
How has it helped my organization?
Jenkins has allowed for streamlined automated testing, building, and smoke testing of release candidates.
What is most valuable?
A lot of support material exists via a single web search of exactly what you're looking for.
What needs improvement?
I think an integrated help button, that respected the context of the change/work in hand, would be a worthwhile improvement.
For how long have I used the solution?
I have been using this solution for four years.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Buyer's Guide
Jenkins
December 2024
Learn what your peers think about Jenkins. Get advice and tips from experienced pros sharing their opinions. Updated: December 2024.
824,067 professionals have used our research since 2012.
CTO at Redsis
In addition to our automation pipeline, we use it to generate documentation for all our software
Pros and Cons
- "Jenkins is very stable."
- "The documentation could be more friendly, and more examples of how to use it."
What is our primary use case?
We use a Hybrid cloud. We are deploying internally on our own servers i.e. our virtual servers in Microsoft Azure. We have 6 engineers using Jenkins Primer. It is only for internal use. We use it for the automation pipeline in our development of software. It compiles and moves the software to deployment in the Microsoft Azure cloud. We also use Jenkins to generate documentation for all the software.
What needs improvement?
The documentation could be more friendly, and more examples of how to use it. This would make for easier implementation in several environments.
What do I think about the stability of the solution?
Jenkins is very stable.
How are customer service and technical support?
We read all the documentation. We also took online training on the internet, which included videos and training tasks. It takes some study and learning, but we don't experience any technical problems.
How was the initial setup?
It took a few weeks for the initial installation of the Jenkins server to set up the development virtual pipeline.
What about the implementation team?
The implementation was undertaken by developers and other internal staff.
What other advice do I have?
I would rate Jenkins 9 out of 10.
Which deployment model are you using for this solution?
Hybrid Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Microsoft Azure
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Senior IT Professional at Novabase
Fully integrates with many other solutions for more effective ALM
Pros and Cons
- "The most valuable features are Jenkins Pipelines for ALM and full Deploy Cycle."
- "Better and easy-to-use integration with Docker would be an improvement."
What is our primary use case?
We use this solution for Build & Deploy Automation. It is integrated with Git or TFS, Nexus and Ansible for deploying to premises servers in Linux or Windows.
How has it helped my organization?
This solution provides us more effective ALM and deployment automation compared to the previous solution with Serena (now Micro Focus) Dimensions CM.
What is most valuable?
The most valuable features are Jenkins Pipelines for ALM and full Deploy Cycle. This solution fully integrates with a lot of other solutions like Git, TFS, Nexus, SonarQube, etc.
What needs improvement?
I would like to have more Steps commands for better integration with other platforms.
Better and easy-to-use integration with Docker would be an improvement.
For how long have I used the solution?
I have been using this solution for three years.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Mobile QA Developer at a tech vendor
It's a good alternative to become parallel infrastructure purely dedicated for testing, but it lacks the ability to control interim status messages.
What is most valuable?
1) Easy to install and setup (including setup to run as windows service)
2) Free and always available alternative to any other build solutions
3) Relatively simple and intuitive UI
4) Big number of pretty useful plugins
5) Easily configurable and scalable
How has it helped my organization?
In some of my projects I had a chance to participate we used to use some commercial solutions like TeamCity or Bamboo. Since we had limited number of build machines and build agents it was really hard to organize automated acceptance and high-level system test runs as it took a while to perform the run.
Even more, since we had restricted number of build agents the huge number of long-running tests could make serious bottle-neck to the entire build process, hence, the feedback is a bit delayed. Jenkins appeared to be a good alternative to become parallel infrastructure purely dedicated for testing.
The bottle-neck problem was mitigated and we were able to make large scale runs on infinite basis. Thus, we could get results 2-3 times a day instead of 1 which brought us more consolidated and consistent picture about application under test state during the day. This trick was helpful for me on many projects
What needs improvement?
A lot of features (even small ones) can be taken from existing analogs. E.g.:
1) Ability to control interim status messages. This feature exists in TeamCity where you can log a message of specific format and it could change the build text and temporary status. In particular it's useful to see the number of tests already passed/failed without waiting for the completion
2) When we need to restart the server while some jobs are running it could be useful to re-run those dropped jobs after restart automatically.
3) There is some set of plugins which is being set up very frequently for many projects. It could be useful to have some pre-defined installations which either contain all necessary plugins by default or install them at the initial run (to decrease the size of initial application package)
Generally, other systems have lots of features which could be useful to see in Jenkins
For how long have I used the solution?
Since 2009. At that time it was called Hudson
What was my experience with deployment of the solution?
No. Deployment easiness is one of the advantages of Jenkins
What do I think about the stability of the solution?
From time to time Jenkins experiences problems after 1-2 weeks of intensive work (where at least 1-2 jobs are running at any point of time).
There used to be some issues when entire configurations could become invisible from the UI (usually that could happen after unexpected system shut down or even simple configuration rename operation) which was a bit painful. But I didn't encounter such problems in the most recent versions. So, it definitely indicates that some work at this direction was definitely done.
What do I think about the scalability of the solution?
No
How are customer service and technical support?
Customer Service:
Never had a chance to communicate
Technical Support:Never had a chance to communicate
Which solution did I use previously and why did I switch?
Mainly Jenkins used to be either main system or parallel solution. Major reason for using it was mainly related to:
1) Licensing
2) Limited capacity of build agents
How was the initial setup?
Setup is pretty straightforward
What about the implementation team?
Both in-house and vendor
What's my experience with pricing, setup cost, and licensing?
It's free. There's no advice required
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Software Tester at a tech vendor
Enables us to automatically build Python binaries into several operating systems
Pros and Cons
- "We use Jenkins to automatically build Python binaries into several OS's i.e. OS X, Ubuntu, Windows 32-bit and Windows 64-bit."
- "In our case, we have several products built using Jenkins. It is quite difficult to navigate into the latest stable build in a given OS."
What is most valuable?
We use Jenkins to automatically build Python binaries into several OS's i.e. OS X, Ubuntu, Windows 32-bit and Windows 64-bit.
How has it helped my organization?
We are a company run by remote workers. Using Jenkins really helps us in moving our products forward into a number of different customer segments.
What needs improvement?
I think the UI and the UX can be improved. In our case, we have several products built using Jenkins. It is quite difficult to navigate into the latest stable build in a given OS.
For how long have I used the solution?
Two years.
What do I think about the stability of the solution?
No stability issues.
What do I think about the scalability of the solution?
No scalability issues. As long as the configuration is set correctly, there is nothing difficult in scaling up.
How are customer service and technical support?
Jenkins is a free and open source application. So, StackOverflow is more than enough for us.
Which solution did I use previously and why did I switch?
From the very beginning, we wanted to target OS X, Ubuntu and Windows users. At first, the developer would manually create some builds and put them in Gdrive to be tested. We started to use Jenkins when we had some multiple developers and testers and needed a system to manage and automatically build our products.
How was the initial setup?
In my company, my role is a software tester. I don't know whether the setup is difficult or not.
Which other solutions did I evaluate?
We went directly to Jenkins.
What other advice do I have?
Don't focus on the fact that Jenkins is open source. It is tough as a rock.
This software is ideal for you who work in software development especially those using Agile methodology.
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.
Buyer's Guide
Download our free Jenkins Report and get advice and tips from experienced pros
sharing their opinions.
Updated: December 2024
Product Categories
Build AutomationPopular Comparisons
GitLab
VMware Tanzu Platform
Tekton
AWS CodePipeline
Bamboo
TeamCity
Harness
Chef
CircleCI
AWS CodeStar
GoCD
Bazel
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?