TrustRadius Insights for Jenkins are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.
Pros
Automated Build Process: Many users have found the automated build process in Jenkins to be great, emphasizing its efficiency and reliability. They appreciate the seamless automation of tasks, from compiling code to deploying applications, without human intervention. The ability to run code against any testing suite and automatically rollback faulty programs has been particularly valued by reviewers.
Supportive Community: Jenkins has garnered praise for its extremely supportive community that readily offers assistance and troubleshooting guidance. Reviewers have specifically mentioned how valuable it is to have a strong network of experienced users who are willing to share their knowledge and help others overcome challenges.
Connectivity with Multiple Clouds: Users highly value Jenkins' support for connectivity with multiple clouds, including Azure, AWS, GCP, OCI, and more. This feature enables them to deploy applications across different platforms seamlessly. Several reviewers have expressed their satisfaction with this flexibility as it allows them to leverage various cloud services based on their specific needs.
Jenkins is used for triggering builds in our company. We have more than 20+ apps which needs to be deployed , and we take help of jenkins to do so. From frontend, to backend to ML team, all uses jenkins for their deployment. Jenkins helps us speed up our delivery by allowing parallel builds and testing, significantly improving deployment times. Jenkins integrates seamlessly with Git (GitHub/GitLab), Docker, Kubernetes, and other DevOps tools we use, enabling end-to-end automation.
Pros
Monitors source code repositories pretty well
Automatically triggers the deployment when new code is pushed
Advanced logic like conditional steps, parallel execution, or environment-specific stages
Reusability across projects using shared libraries
Cons
Complex UI
Less user friendly
Should not go down
Plugin Dependency and Maintenance Overhead
Limited Native Support for Modern Cloud-Native Workflows
Likelihood to Recommend
1. Suited well for a company which has more than 10 apps to deploy. 2. Not suited for a place where Serverless or Event-Driven CI/CD with Minimal Setup is required. 3. If project requires fine-tuned control over build steps, conditional deployment flows, and script-heavy automation, Jenkins provides unmatched flexibility using Jenkins file and Groovy scripting.
VU
Verified User
Engineer in Engineering (Information Technology Services company, 1001-5000 employees)
We use Jenkins in our continuous integration pipelines. With Jenkins, we build and test our microservices. We also make extensible use of the plugin capability (we also develop and maintain internal plugins) to cover complex build/testing scenarios.
Pros
Extensive documentation
Big community and popularity
Easy to extend and customize
Cons
Improve configuration portability
Improve scalability
Increase interoperability with containers
Introduce ways to update common dependencies automatically (eg Docker)
Likelihood to Recommend
Jenkins' strengths are:
Scripting: Using Groovy we can extend the plugins' behavior and customize the way we build our projects. If you have complex pipelines and tricky build scenarios, please consider the use of Jenkins.
Maturity: Nowadays we have powerful CI alternatives, but Jenkins is a tool used for many companies and has an active community so it's easy to find documentation related to almost any setup, also there are plenty of people with knowledge about it.
Some areas where Jenkins needs improvement are:
Updating: Jenkins needs to introduce/facilitate ways to update external dependencies.
Scalability: For some workloads, Jenkins still has issues with performance.
VU
Verified User
Technician in Engineering (Logistics & Supply Chain company, 501-1000 employees)
The workflow begins with developers submitting pull requests containing their code changes and documentation. Jenkins automatically triggers builds, running unit tests to verify functionality and code analysis tools to assess quality and adherence to standards. Integration testing follows, ensuring seamless component interaction. User acceptance testing occurs in a dedicated environment, allowing stakeholders and users to provide feedback. Jenkins generates reports and notifications throughout the process, keeping stakeholders informed. Finally, upon review and approval, Jenkins handles the deployment to the production environment. This streamlined approach improves efficiency, consistency, and visibility, ensuring high-quality software releases.
Pros
Automated Builds: Jenkins is configured to monitor the version control system for new pull requests. Once a pull request is created, Jenkins automatically triggers a build process. It checks out the code, compiles it, and performs any necessary build steps specified in the configuration.
Unit Testing: Jenkins runs the suite of unit tests defined for the project. These tests verify the functionality of individual components and catch any regressions or errors. If any unit tests fail, Jenkins marks the build as unsuccessful, and the developer is notified to fix the issues.
Code Analysis: Jenkins integrates with code analysis tools like SonarQube or Checkstyle. It analyzes the code for quality, adherence to coding standards, and potential bugs or vulnerabilities. The results are reported back to the developer and the product review team for further inspection.
Cons
User Interface: The Jenkins user interface can be complex and overwhelming for new users. Improving the user experience and making it more intuitive would help streamline the onboarding process and enhance usability for both beginners and experienced users.
Configuration Management: Managing and configuring Jenkins can be challenging, especially when dealing with large and complex projects. Simplifying the configuration process and providing more user-friendly options for managing pipelines and jobs would be beneficial.
Scalability: As projects grow and the number of builds and jobs increases, Jenkins can experience performance issues and scalability challenges. Optimizing Jenkins for larger-scale deployments and providing better support for distributed builds and parallelization would help address these limitations.
Likelihood to Recommend
In a scenario where a small software development team is working on a simple project with minimal codebase and a straightforward deployment process, Jenkins may not be well suited. The overhead and complexity of setting up and maintaining Jenkins could outweigh the benefits of such a small-scale project. Additionally, the learning curve associated with Jenkins, along with its resource-intensive nature, might not be justifiable for a team with limited resources and a shared infrastructure. Alternative lightweight CI/CD solutions that offer streamlined workflows and require minimal configuration may provide a more suitable and efficient choice for small projects with straightforward requirements, focusing on simplicity, speed, and ease of use.
Integration with other systems like Github/Bitbucket.
Single Sign-on.
Granular Permissions.
A lot of plugins for almost everything you need.
Cons
The interface can be better.
Upgrades are tricky.
Installation and set up are a bit tedious.
Likelihood to Recommend
You can set up Jenkins for pretty much any kind of CI/CD requirements. It has plugins for supporting various environments and with Shell scripting options, you can customize it to your use cases very easily.
My team primarily uses Jenkins, an application deployment tool. We create automated jobs that test code and then deploy to servers/containers and restart the apps. We have also begun implementing several CI/CD uses where we are able to automate jobs to deploy container infrastructure code to Git and have runners automatically deploy into our environments.
Pros
Works with Git very well.
Easy to write in preferred coding language.
Easy to allow varied levels of access to different jobs/dirs.
Large selection of plugins to customize.
Cons
Jenkins config.yaml recovery is not smooth and takes a lot of legwork.
Plugins that go out of date can cause issues with upgrades.
Progress UI frequently lacks detailed descriptions from Jenkin's side.
Likelihood to Recommend
One scenario we use Jenkins regularly is with a scheduled Jenkins job (akin to a cron job) that runs every morning and takes inventory of all VMs/Containers/Servers. This inventory monitors changes in average resource usage, and services that are up or down, and backs up logs for troubleshooting. This job requires no attention, and Jenkins manages it all automatically. Another scenario in which Jenkins was utilized less effectively was in an attempt to actually manage virtual machines (spin up/spin down/reallocate) in vSphere. While we eventually got it to work, Jenkins had a hard time interpreting some of the logic we provided it. Admittedly, Jenkins may have a plugin to assist with this need, we simply found it tedious and decided to go another route in the long run
All the client projects are deployed by using Jenkins in the development and production environment. Jenkins saves lots of time by automating the deployment process. It is easy to install and manage, so a non-Develop employee is also able to do a complete deployment of any app and project.
Pros
Repo cloning and build.
Transfer build to prod and staging servers.
Version Management.
Plugin Support.
Cons
Try to focus on reducing its size.
Required a high performance server.
RAM is highly utilised.
After build of App, Hard to setup code transfer from Jenkin server to other.
Likelihood to Recommend
It is best suited when your deployment is widespread, and you don't have time to do this. Also, it is suitable if you have less knowledge of servers. I would not suggest Jenkins if you do not have frequent deployment. It requires at least medium size instance to run so that it will make a recurring cost.
We're using Jenkins as a Continuous Integration and Continuous Deployment tool in our organization, We are deploying, administrating, and managing multiple instances of Jenkins for a large number of teams. As it supports multiple kinds of Jobs and pipelines it's well suited to all the teams across our organization. By decommissioning enterprise CI Tools we started Using Jenkins and we're saving a significant amount of money.
Pros
It offers multiple types of Jobs and pipelines which makes automation easier.
We're using Jenkins as a CI tool, We are administrating and managing it for a large number of teams.
Feature and functionality wise It's far better than all other enterprise CI tools.
Cons
We have only community support so sometimes it can be problematic to troubleshoot or fix issues.
Most of the plugins are developed and managed by open-source contributors so we've to rely on the mercy of collaborators or to develop our own.
Sometimes it's very hard to troubleshoot the issues due to improper error handling in plugins.
Likelihood to Recommend
If you're looking for a highly customizable CI/CD tool then Jenkins is a go-to Tool! if you're looking for developing and using your own features you're in. You can develop your own plugins in Jenkins. Jenkins requires maintaining servers and building agents if you're looking for something maintenance-free then you should look for SaaS-based CI/CD tools.
Jenkins is the frontline tool used by our Device Integrations team to ensure a smooth release process for each version of our app, whether that is doing a feature build for our QA team, uploading a new version for release day, or simply making sure each new PR builds and passes our test suite before merging into our main build branch.
Pros
Full customization with a complete library of plugins and raw shell build steps
Credentials handling with built-in storage
Custom environments with locally hosted instances
Cons
The UX is messy compared to other solutions
Jenkins doesn't have the best method of storing job configs in its related repo, unlike GitHub Actions or CircleCI
You can't easily set an environment variable for the rest of your job from within a build step, if at all.
Likelihood to Recommend
Jenkins is good if you need to have a CI system so flexible that it would make a gymnast look like a block of wood. In every case that I have worked with, other solutions have been easier to use and maintain, while having all features I could ever need.
Jenkins is used by my team to automate the build pipeline we have for our codebase. We use it to run builds on our code base automatically on a daily basis to help maintain the functionality of the code. It also automatically runs test cases for each push of code to our repository. It allows users to test their code in the cloud instead of locally and helps mimic a production environment.
Pros
Jenkins is an open-source CI/CD tool with a massive community and lots of plugins and functionality.
We are able to use Jenkins with multiple source code repositories and with various other tools.
Jenkins has a very active user base and is very frequently updated to add features, security fixes, and other enhancements.
Cons
Open source Jenkins has little in terms of formal support so it can be problematic to troubleshoot some issues.
Jenkins plugins are created and supported by the community in most cases so you are at the mercy of the collaborators to maintain the code unless you want to join the effort yourself.
There are a few popular software suites that are not fully compatible with Jenkins in their current state.
Likelihood to Recommend
Jenkins is well suited if you need a high customizable CI/CD tool that can be integrated with most popular tools and software. It is possible to get Jenkins to do almost anything you want or need it to if you are willing to put in the effort up front. It is a great tool for running automated tests on your codebase.
VU
Verified User
Team Lead in Engineering (Computer Software company, 10,001+ employees)
- Jenkins is used for orchestrating automated test, CI, CD pipelines at our organization - It is being used by a number of departments including engineering - It solves a big need for us which is being able to deliver software and value to customers reliably.
Pros
Automation
CI
CD
Cons
Bloated and can be made more lightweight
Hard to discover features and workflows
Likelihood to Recommend
[Jenkins is a] feature rich project management product for small or large teams at an organization.
VU
Verified User
Manager in Engineering (Computer Software company, 1001-5000 employees)