Skip to main content
TrustRadius
Jenkins

Jenkins

Overview

What is Jenkins?

Jenkins is an open source automation server. Jenkins provides hundreds of plugins to support building, deploying and automating any project. As an extensible automation server, Jenkins can be used as a simple CI server or turned into a continuous delivery…

Read more
Recent Reviews

TrustRadius Insights

Jenkins has been widely used for various use cases, making it the go-to choice for building, testing, and deploying projects. Its …
Continue reading
Read all reviews

Awards

Products that are considered exceptional by their customers based on a variety of criteria win TrustRadius awards. Learn more about the types of TrustRadius awards to make the best purchase decision. More about TrustRadius Awards

Reviewer Pros & Cons

View all pros & cons
Return to navigation

Pricing

View all pricing
N/A
Unavailable

What is Jenkins?

Jenkins is an open source automation server. Jenkins provides hundreds of plugins to support building, deploying and automating any project. As an extensible automation server, Jenkins can be used as a simple CI server or turned into a continuous delivery hub for any project.

Entry-level set up fee?

  • No setup fee

Offerings

  • Free Trial
  • Free/Freemium Version
  • Premium Consulting/Integration Services

Would you like us to let the vendor know that you want pricing?

32 people also want pricing

Alternatives Pricing

What is CircleCI?

CircleCI is a software delivery engine from the company of the same name in San Francisco, that helps teams ship software faster, offering their platform for Continuous Integration and Continuous Delivery (CI/CD). Ultimately, the solution helps to map every source of change for software teams, so…

What is Buildkite?

Buildkite is a CI and build automation tool that combines the power of the user's own build infrastructure with the convenience of a managed, centralized web UI.

Return to navigation

Product Demos

CI/CD Pipeline Using Jenkins | Continuous Integration & Continuous Deployment | DevOps | Simplilearn

YouTube

Jenkins in Five Minutes

YouTube

12 Soft Pastel Techniques for Every Artist / PLUS Painting Demo

YouTube

DWTS - Troupe waltz demo w/opera singer Katherine Jenkins

YouTube

How to run Ansible playbook from Jenkins pipeline job | Ansible Jenkins Integration| DevOps Tutorial

YouTube

08 - Jenkins pipeline integration with git & maven | Jenkins Pipeline Tutorial

YouTube
Return to navigation

Product Details

What is Jenkins?

Jenkins Video

What is Jenkins?

Jenkins Integrations

Jenkins Technical Details

Deployment TypesSoftware as a Service (SaaS), Cloud, or Web-Based
Operating SystemsUnspecified
Mobile ApplicationNo

Frequently Asked Questions

Jenkins is an open source automation server. Jenkins provides hundreds of plugins to support building, deploying and automating any project. As an extensible automation server, Jenkins can be used as a simple CI server or turned into a continuous delivery hub for any project.

Reviewers rate Performance highest, with a score of 8.9.

The most common users of Jenkins are from Enterprises (1,001+ employees).
Return to navigation

Comparisons

View all alternatives
Return to navigation

Reviews and Ratings

(443)

Community Insights

TrustRadius Insights are summaries of user sentiment data from TrustRadius reviews and, when necessary, 3rd-party data sources. Have feedback on this content? Let us know!

Jenkins has been widely used for various use cases, making it the go-to choice for building, testing, and deploying projects. Its compatibility with GitHub has made it a popular option among users. One key use case is automating the build process, which has significantly reduced the level of effort required by engineers. By coordinating internal infrastructure teams with external development teams, Jenkins ensures consistent and automated deployments. It also proves invaluable in quickly bringing servers back up after power outages by running scripts. Another important use case is automating builds for different projects, reducing compilation time and allowing for sharing build scripts across repositories.

Jenkins plays a crucial role in code testing, documentation, code analysis, integration testing, and user acceptance testing. It ensures a smooth release process, performs feature builds, and handles deployments effectively. The software's strength lies in its ability to support continuous integration and automation. With its support for various technologies and platforms, Jenkins makes the development flow fluid. Additionally, it can easily scale out across multiple machines and support simultaneous builds, tests, and deployments.

Jenkins is commonly utilized as an R&D build and deploy pipeline, facilitating end-to-end and unit testing. It also finds extensive use in building and deploying AEM applications with separate instances for each project. Whether running API tests automatically or conducting automated UI tests, Jenkins helps streamline the quality assurance process. It is frequently employed to control builds for different environments such as dev, QA, and prod.

Organizations leverage Jenkins to automate CD/CI jobs across various applications, enabling automatic testing and deployment. It proves instrumental in building, testing, and deploying micro-service architectures at scale. Moreover, Jenkins generates reports and notifications throughout the process to improve efficiency and visibility.

With its flexibility in managing build servers and supporting cross-platform testing and automation tasks, Jenkins becomes an essential tool for code tests, configuration management, and test routine execution. It automates the CI/CD process by receiving commit events, building, testing, and deploying code seamlessly. Many organizations rely on Jenkins to deploy client projects in development and production environments, streamlining the deployment process.

Jenkins integrates with other tools and platforms such as SVN, GitHub, and Docker, providing a seamless workflow and enhancing productivity. It serves as a versioning system, storing build versions and facilitating code management. Furthermore, Jenkins assists in deploying applications to different environments while also aiding in server backups and restoration. The extensive range of plugins offered by Jenkins allows users to customize and enhance their experience with the software.

Overall, Jenkins has proven to be a straightforward and reliable tool for continuous integration once it is set up. It offers users the ability to test their code in a cloud environment, mimicking a production setting and facilitating faster deployment. With its robust features, Jenkins also serves as a versioning system, storing build versions and facilitating effective code management.

One of the key advantages of Jenkins is its seamless integration with other tools and platforms. It seamlessly integrates with SVN, GitHub, Docker, and more, allowing for enhanced workflow efficiency. This integration enables users to leverage their existing tools and workflows while incorporating Jenkins into their development process.

Furthermore, Jenkins is widely utilized for deploying applications to different environments such as development and production. Its ability to handle server backups and restoration is invaluable for maintaining data integrity and disaster recovery.

Additionally, Jenkins provides extensive reporting capabilities throughout the build and deployment process. This improves efficiency by providing visibility into each step of the pipeline, allowing teams to identify and resolve issues promptly.

The wide range of plugins offered by Jenkins enhances its functionality and allows users to customize their experience based on specific project requirements. This flexibility makes it a versatile tool that can be tailored to meet the needs of different teams and organizations.

In conclusion, Jenkins has established itself as a trusted solution for building, testing, and deploying projects across various industries. Its compatibility with popular platforms like GitHub combined with its automation capabilities make it an ideal choice for any organization looking to streamline their development process. By automating tasks, reducing effort, improving collaboration between teams, and providing crucial reporting features, Jenkins empowers teams to deliver high-quality software efficiently.

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.

Confusing and Outdated User Interface: Several users have criticized Jenkins for its confusing, outdated, and visually unappealing user interface. They feel that the interface could be improved with a more modern design using the latest UI technologies.

Difficult Setup Process: The setup process of Jenkins has been described as difficult by some users, particularly when it comes to configuring it to successfully run software builds and managing dependencies. This complexity can be frustrating for new users who are trying to get started with Jenkins.

Frequent Logouts: Users have experienced frequent logouts while using Jenkins, which can be irritating. This interruption in their workflow hinders their productivity and adds unnecessary frustration.

Users frequently recommend Jenkins as a helpful tool for new users, as it aids in avoiding issues. They believe it is an amazing tool for CI/CD and suggest using it in conjunction with GitHub. Many users argue that all projects should implement Jenkins and recommend using it for managing releases. Furthermore, they highlight Jenkins as a powerful tool for achieving continuous integration and strongly recommend its use, given its proven track record. Overall, Jenkins receives positive endorsements from users due to its user-friendliness and effectiveness in streamlining development processes.

Attribute Ratings

Reviews

(26-50 of 69)
Companies can't remove reviews or game the system. Here's why
Erlon Sousa Pinheiro | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User
Incentivized
We're using Jenkins to perform part of our deployment pipeline. For our Development team, all the code tests are performed through Jenkins and on the DevOps side, all configuration management is performed by Jenkins integrated to Git, Puppet and Terraform. Also, their role on our day by day activities is quite important since we also use test routines on our configuration management pipeline and these tests are executed by Jenkins.
  • Manages the entire deployment pipeline, since the Git commit, going through several test types and the deployment.
  • Integrates with a bunch of other technologies.
  • Jenkins is amazingly flexible. The boundaries are your imagination. Just be ready to invest some time learning its several features.
  • Native integration with cloud providers. We still needing third-party plugins, that in some cases are not very efficient.
  • Needs better documentation.
  • A better front end. There is a lot of space for improvements in this specific aspect.
Jenkins has been serving us efficiently for a long time. It is quite reliable. Whether supporting developers work, DevOps work or staging/production deployment processing, Jenkins is a good choice. However, I believe there are some things that could be improved. When we need to execute parametrized builds, Jenkins could be more flexible in delivering us better screens (maybe something customizable) where we would insert variables to be used during the pipeline.
Score 6 out of 10
Vetted Review
Verified User
Incentivized
[We're] Using Jenkins for CI/CD automation and enforcing quality gates.
  • Rich plugin ecosystem
  • Infinitely extendable via custom configuration
  • Scalable thru multi node architecture
  • First-class support for docker containers
  • More modern runtime, without the Java overhead
  • Better isolation for plugins via containers
The industry workhorse due to its swiss-army-knife abilities, but lacks in some modern features like first-class support for docker containers.
Score 9 out of 10
Vetted Review
Verified User
Incentivized
We use Jenkins as our main CICD server for multiple projects in our department and integrate Jenkins with our Gitlab source code repository and other tools such as SonarQube, Artifactory, Tomcat, Jboss, and Coverity. Our development team uses Jenkins jobs on every check-in code to run unit tests, scan code quality and run automation tests on every merge request before actually merging. Jenkins helps to increase our quality of product and eliminate most manual steps on deployment and integration.
  • Flexible to create jobs in freestyle or pipeline.
  • Supports various plugins to work with different programs such as AWS, Azure, Linux, Powershell, etc.
  • Gives you a centralized location to manage all project pipelines and build information.
  • Support various ways to trigger new jobs.
  • Allows us to edit and retain files in the server and not override by repository.
  • Support cluster to increase build performance.
  • Jenkins UI is too simple.
  • Does not provide a feature for backup and restore jobs.
  • Lack of authorization rule - We could not assign separate users or groups to separate views or jobs.
Jenkins is well suited when you need a CICD server to handle your compilation, building and deployment process, as Jenkins has many plugins and supports most script languages so it could handle almost any kind of project. In my department, before we start on a project, we define a clear strategy to use Jenkins, which task needs to be automated with Jenkins, which branch, and which module needs to be built with Jenkins and when we need to push a new version to Artifact and deploy to the server.
Score 8 out of 10
Vetted Review
Verified User
Incentivized
Multiple departments use Jenkins for deploying code to our dev/test/stage environments, and our ops team uses it primarily to deploy code to production endpoints.
  • Code package deployment. It wraps up and pushed out the code quickly and easily.
  • Good UI - verbose output is available, and there's an easy walk-through deploy process.
  • Multiple scripting language support - Jenkins can integrate PowerShell, Python, etc.
  • Documentation in the application itself is a bit thin.
  • Outside automation and integration aren't easily understandable. It would be nice to work in Ansible with Jenkins.
Suited for integration with GitHub, pulling on your master branch, wrapping it up into a deployment package, pushing that package out to an endpoint, and using scripting to update files. This process is primarily what we use Jenkins for, and it does this work well.
Score 8 out of 10
Vetted Review
Verified User
Incentivized
We use this technology throughout the company. Most of the time we integrate this with Git. Just by installing a Git plugin to the dashboard we are ready to rock and automate. We do the following process (this step by step guide will brief you more on our work): 1. Install and Integrate Git plugin with the dashboard of Jenkins (localhost:8080), 2. provide the URL/repository URL, 3. git pulls request so as to sync save all data to Jenkin workspace, 4. go to SCM, and select Git in freestyle project, 5. execute the operations and some batch commands, and 6. you are done! Now you are ready to automate your tests (Plugin wise) and debugging. We mostly use mailer application which triggers a mail to all the recipients when our production code builds successfully.



  • Real-time deployment and synchronization.
  • Automated Test cases and debugging.
  • We really like the tool/plugin called Mailer.
  • Best for DevOps. Reduced builds and processing time.
  • Once we organized a hackathon with our GitHub Storage. Jenkins was integrated at that time. We had a 20GB plan, but it oversized to 50GB. We had to bear a large sum of money which was unpredicted by our company. Being a startup we cannot bear such mistakes.
  • Jenkins cannot be easily studied and managed. We have to recruit personnel part-time for managing and servicing the server.
  • Though it is open source, there is no dedicated community driven forum or support. There are 3rd party discussion and support portals. Thus, we use Gitter always for debugging and solutions.
Jenkins is open source, thus has a large number of plugins rolled out already. All major VCS, SCM, Git, and Maven applications support Jenkins. They even support Docker which is trending in DevOps nowadays. It has more than 50 APIs and plugins to work on. Thus, it is always appropriate to have Jenkins when you have a distributed workforce and to sync with everyone. To avoid synchronization problems in the distributed workforce and development, we use Jenkins. Code pushed to VCS can be built over another system so as to deploy in the production/release.
Dylan Cauwels | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
We use Jenkins to automate our CD/CI jobs across a variety of applications. It is used by our QA teams to set up automatic testing for software deployments, and by our deployment team to deploy those applications in an automated fashion. This tool is crucial to any DevOps setup and will allow your teams to deploy as often as they would like with minimal effort or employee intervention.
  • Automatic jobs: there are infinite possibilities when it comes to Jenkins. You can run code against any testing suite you can imagine or conjure up. You can deploy applications at any time anywhere, automatically with no human intervention. If a certain stage fails, it will notify the team and your sysadmin of the issue so you can resolve it as quickly as possible
  • Automatic rollback: because of how Jenkins works, it can hold off publishing code and integrate locally to run QA procedures before pushing to deployment. This means that bugs are caught before your servers are updated and prevents a faulty program from affecting your downtime in the first place. Its a game changer for high availability.
  • Very un-intuitive UI can be very confusing for first-time users. It will take a decent amount of time to get any new users comfortable with using the tool
  • It is open-source, but because of this, there is not a lot of support out there for Jenkins-related issues. Because of the possibilities of Jenkins with plugins and customization, there is a decent chance any errors you encounter will be the first of their kind and will have to be solved by you and you alone.
Well suited for any environment that needs to be as automated as possible and is built around the DevOps philosophy. Also, perfect on any cloud infrastructure system as it allows for considerable customization for any type of setup. It allows for applications to be developed in a fast, reliable manner by cutting out the tedious process of integration or basic QA testing. I legitimately cannot think of a scenario where Jenkins would not be useful in improving your software workflow.
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Jenkins is our standardized build tool for all our software teams. It has allowed us to move to a standardized continuous integration development cycle rather than the ad-hoc build and deploy structure that was used in the past. Having the ability to manage all our builds from a single web platform has been great for the management of our build process. We now have the ability to easily pull build logs and to determine where individual builds we're deployed. Jenkins has been highly beneficial for our company.
  • Manage continuous integration. It can be set up.
  • Allows a single point of access for all our companies build information.
  • It is also highly configurable and allows our individual teams to customize the builds as necessary.
  • We have had some trouble with using Ansible with Jenkins to allow a 'pipeline' build. This points to a potential area Jenkins could improve by allowing a clean way to define build pipelines. It has the ability to define promotions to specific environments but the UI for that feature is not intuitive.
  • There were a few examples where saving build configuration changes would not actually save the changes.
  • Jenkins is a great tool, but the UI for the list of projects becomes hard to navigate when you have a large number of projects. It could use an updated design.
Jenkins is well suited to be used in any build use case. I consider Jenkins to be the gold standard for build tools and should be the primary choice for any build unless there are mitigating circumstances that require another tool.
Gabriel Samaroo | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
The engineering team at several of my previous companies used Jenkins as a Continuous Integration and Automation tool. We used it for managing deployments of our applications across various environments, as well as a way to manually run various operations, such as running Tests or Invoking scripts. Jenkins has some good user permissions, that allow us to delegate specific responsibilities to various individuals without worry of someone doing something they shouldn't be allowed to. The setup is quite simple, and the software is very intuitive to use.
  • Continuous Integration - A commit into a Git code repository can kick off a Jenkins job, which in turn runs a Test suite and an application deployment
  • History - View of everything that's been run and by whom
  • Flexible - Tons of plugins that allows Jenkins to integrate with other software/tools used in your companies tech stack
  • Sometimes, plugins are needed for even basic tasks. It would be nice if the base functionality included more, so you don't need to search and install a bunch of plugins.
  • The UI can be a little clunky. Although there is a Blue Ocean project that rethinks the UI of Jenkins and is much nicer.
  • While the user management works, it is a little naive. You cannot do things in bulk or things that are TOO complex.
Jenkins is a great tool for teams looking to build automation and continuous integration into their development workflow. It is very easy to setup and works of all the major Operating Systems. Anyone can learn to use Jenkins because the software is quite intuitive. There is also a huge community surrounding Jenkins, which makes learning resources very easy to find.
Ramendra Sahu | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User
Incentivized
This tool made the development flow fluid. Standout features are the continuous integration and a variety of support offered for creating packages for a number of technologies like, Java, C#, C++, etc and across multiple platforms that makes releases easier for faster roll out of business functionalities . It also has hundreds of plugins that can help you setup continuous integration and continuous delivery tool chain in quick time. You can easily scale out Jenkins across multiple machines, and support simultaneous large number of builds, tests and deployments across multiple platforms.
  • There are plenty of plugins available which helps us automate most of the jobs.
  • You can do anything with Jenkins as there are a huge number of community plugins. There is a learning curve of course but after you've mastered it's quick sailing.
  • The ability to schedule jobs on the go for your software build is very useful.
  • I particularly don't like the user interface. There's a lot of scope for improvement. I would actually say a complete revamp is required.
  • It is quite time consuming and not intuitive to create a job.
  • The new build pipelines feature is good but needs to be refined and issues needs to be ironed out.
It supports a rich set of plugins. The job configuration history plugin, for example, allows you to see history of past builds. Features are constantly getting enhanced with each release. Great active community support, which can help you if you are trying to do something new. Better than a lot of peers available in market. GitHub integration and pull request and support for automatic code review are truly great features.
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Jenkins is the tool we use for building our code, running our test cases and also for few of the inhouse datacenter deployments.

Apart from the regular CICD, we also use it for many of our other automation tasks, for example automating regular operational tasks like disk cleanup, log rotation etc.
  • Jenkins has plugins for achieving anything and everything.
  • Jenkins is very flexible and has gone beyond just the CI capabilities.
  • Very active development and frequent releases with new features and bug fixes.
  • Very good authentication/authorization features with fine-grained access control.
  • Sometimes installing the wrong plugins ends up with Jenkins in a non-startable state.
  • When there is a huge number of builds, loading the Jenkins UI takes minutes. Sometimes times out as well.
  • Lacking user level minute audit logging. It's difficult to find out which users installed/upgraded plugins.
  • There were cases where jobs were in a hung state and could not be aborted as well. Jenkins restart was the only solution.
Jenkins is a good tool to automate anything and everything. It has plugins to integrate with any other systems.
Earlier Jenkins was more like a CI tool. But now it has evolved to cater for continuous delivery and deployment as well.

Jenkins can be used to download code from a source code versioning system, build code, run tests, upload to artifact repositories and finally deploy to the required environments via shell scripts, Chef, Ansible etc.

Apart from this, Jenkins can be used to run any kind of automation required, for example, operations scheduled activities like cleaning up disk space, rotating logs etc.
July 05, 2018

Jenkins at a glance

Score 8 out of 10
Vetted Review
Verified User
Incentivized
Jenkins is used for automating the build process of testing, deployment, and release. It makes continuous deployment faster and an automated process. It is used across the organization.
  • Automated deployments. Developers manage their own code throughout the SDLC
  • Jenkins workers can be easily scaled making multiple projects use the same Jenkins for deployment
  • Easy setup of the environment using docker and Kubernetes
  • Jenkins UI needs to be changed. It doesn’t utilize the modern web technologies
  • Parallel builds should be displayed separately.
  • Containers within containers for golang creates problems in dependency management
Jenkins is well suited for a continuous integration and continuous deployment process. Jenkins file creates deployment automated as a code through docker.
Sagiv Frankel | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Incentivized
Jenkins is as our R&D build and deploy pipeline.
It allows us to:
1) Run end to end and unit tests every time we push new code.
2) Compile and bundle our code.
3) Deploy images and containers it to our Azure servers (Kubernetes).
4) Give us a nice dashboard to view that status of the tests, builds, and deployment.
  • It is heavily used in the industry and it's open source. This is a huge benefit as there is a lot of learning material and more importantly there are many friends that can help you set things up correctly.
  • The new UI/UX design is very user friendly and gives you good viability into your deployment pipeline status.
  • Lots of helpful plugins that are well supported.
  • Setup on Azure was quite straight forward.
  • It does require setup unlike other SaaS products like CircleCI which just require an account.
  • Lots of plugins is also a disadvantage as you need to install quite a few and installation errors are not always easy to decipher.
  • The UI could use better search options, especially through the logs.
If you haven't used Jenkins before and have a relatively simple and straightforward deployment setup I would not use my resources on Jenkins and go for a simpler, more SaaS-based solution. If you expect to have a lot of security demands and need control of your CI/CD pipeline I would use Jenkins for the get-go.
Score 8 out of 10
Vetted Review
Verified User
Incentivized
My organization has deployed Jenkins as the main continuous integration tool for their projects which is responsible for automating all the unit tests, integration tests, end-to-end tests and also the process of releasing the final products as configured.
  • Jenkins creates a comprehensive platform to automate the project builds.
  • Jenkins can be configured to build the projects as periodically (nightly builds) or in the event of subversion commitment.
  • Jenkins provides a user-friendly portal to do the configurations you need.
  • Jenkins can improve their product by integrating agile frameworks for the platform directly.
  • They can think further on Jenkins to improve the security as such issues were claimed in the recent past.
  • Jenkins UIs are sometimes slow responsively.
As an open-source product, Jenkins can be recommended for any company who needs continuous integration/delivery for their projects. However, Jenkins offers the extended functionalities through their plug-ins which seems good in most cases but sometimes, this may lead to having unwanted functionalities and security issues in the platform in the case of using of multiple plug-ins for doing a specific task.
Kevin Van Heusen | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Incentivized
Jenkins is currently used to build and deploy our Amazon infrastructure. We practice the principles of infrastructure as code, meaning our infrastructure config and setup is checked into a revision control system and built via Chef and other scripts. Jenkins manages building that automatically or on demand and ensures that everything that is checked in is working properly.
  • Configurability - Jenkins supports all sorts of options for different build types (Microsoft, Unix, etc.).
  • Performance - The Jenkins user interface responds pretty well and can handle a number of projects.
  • Plugins - Generally if you have a third party system to integrate with, Jenkins generally has a plugin for it.
  • User Interface - The UI feels a bit dated and can be hard to use at times.
  • Error messaging could be friendlier - sometimes it can be hard to decipher what went wrong.
  • Configuration of roles could be easier. It would be nice if it was easier to give access to certain users for certain build options/projects/etc.
Jenkins is very well suited for someone in need of a Continuous Integration and Continuous Delivery solution. It does well for people with Unix/Mac based projects, it does handle Microsoft builds fine as well, however the setup of it and configuration may feel a bit more complicated for those coming from a Microsoft background.
April 02, 2018

Jenkins CI/CD

Neale Foulds | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
We primarily use Jenkins as part of our build infrastructure for compile and build, typically executing mavens builds but also ant scripts for more complex tasks and workflows
  • Is an excellent automation container
  • Is excellent at integration with many other tools and services
  • Is superbly well supported in the dev community with over 1k plugins
  • Is very easy to recruit for, having high market penetration and lots of candidates with experience
  • Has a number of security models to suit any enterprise or small user
  • Is very scalable both horizontally and vertically
  • History retention is an area that should improve
  • Trend analysis should be better supported in the core product
  • Dashboards need to be better provisioned in the core product
It is well suited to build, continuous integration and continuous deployment. A less common use case, the tool is also good for scheduling, offline tasks, environment maintenance such as log rotation etc.
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Currently Jenkins is being used across the IT team in our organization. It simply does the hard job of automating all the repetitive tasks, includes details in projects, inside builds, follows workflows, accesses operating systems, and alerts when it's done, or, based on decisions during tasks, what to do. This reduced a lot of work for our dev teams, but also now is helping the infrastructure team and other departments. The knowledge of Jenkins utilization replicates really fast inside our organization as at least one people inside every team learned about or knows how to use it to build a simple job to automate a task, workflow or a deploy. Jenkins also allows us to monitor what's being done, helping managers and the team have an overview of how a pipeline is running. Another problem that Jenkins solved is centralizing automation. As it's controlled by a web console, it's easy to check what is being done, access logs of old jobs, view the entire console output and know exactly who and when a job was last executed. Also, you may set permissions by project, by job, or what you or your organization needs.
  • Continuous Delivery
  • Continuous Integration
  • Automation
  • Single Sign On
  • User Interface
  • Dashboards
Jenkins is well suited for continuous integration, continuous delivery, task automation, deploy automation, detailed security, audit jobs, dashboards, central console to manage, orchestration of jobs (starting a job after your current job was finished with success, for example). But if you wish to continue running things manually, or enjoy it, this is definitively not a tool for you.
February 28, 2018

Jenkins Review

Score 8 out of 10
Vetted Review
Verified User
Incentivized
It is being used by mostly the technology department. It allows us to run jobs between engineers and non-engineers. It increases productivity by automating processes.
  • Automated scheduled jobs
  • I think the UI is not the greatest.
It is well suited for kicking off a job manually or running automated jobs. I do see the use of a product such as this for business type folks, however, the UI is not that business friendly, rather more engineer friendly.
Score 9 out of 10
Vetted Review
Verified User
Incentivized
Jenkins is used across our entire organization. For our dev shop, it mains our build cycle by completing builds of code and handling deployment of code. In addition, we even utilize it to roll out database schema changes. If this wasn't enough, we also utilize Jenkins to generate content based off of markup. Jenkins has allowed us to meet the needs of our dev department of continuous integration while allowing customers to put out content in a timely manner.
  • Jenkins will allow you to setup continuous integration quickly for your development lifecycle. In addition to setting up your code to compile and perform unit testing, Jenkins can handle deploying the code to the needed servers.
  • Jenkins will allow you to set up processes that you wouldn't even expect to need - in our case we used it to manage our database schema by utilizing the ability to run scripts to run liquibase updates.
  • Jenkins has so many plugins, you can even integrate your deployments to update the associated task when it is ready for QA. In our case, we utilized plugins to integrate with JIRA and to notify us in our team chat that a build was ready for testing.
  • When setting up plugins, it can be tricky when you run into errors as sometimes the errors are not explanatory.
  • Jenkins requires plugins for most tasks, it would be nice to see things that are needed for most installations to be out of the box. This would tie them into the product more nicely and hopefully make those plugins easier to use.
  • Lucky for us, we run a fairly monolithic codebase which makes unit testing easier to set up. However, research shows that setting up this type of testing for micro-services with Jenkins is problematic as you cannot test multiple services at once.
Jenkins is wonderful for technically proficient users to setup continuous integration quickly. In addition, if you have processes that are currently only available via command-line utilities - you can setup Jenkins jobs to run these and this now makes those jobs accessible for users who cannot or will not use command-line. In addition, the easy to use interface allows more than the tech team to utilize jobs after they are set up allowing you to spread the workload for manually triggered jobs.
January 19, 2018

Unparalleled Flexibility

Aiman Najjar | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Incentivized
Jenkins is an extremely powerful continuous integration/continuous delivery tool. It can be used to automate a very diverse set of operations - including, but also well beyond, application deployments. This is thanks to amazing flexibility and the impressive number of available plugins.

In the traditional sense, Jenkins easily addresses the following problems:
  • Build and release automation
  • Test automation with result report generation
  • Test coverage reports
  • Version control polling
  • Status notifications
  • Conditional, concurrent and branched pipelines
  • Master-slave architecture
  • Credentials storage
  • Really, any custom scheduled or event-driven (primarily via version control events) workloads - of course don't go crazy with that, you don't want to schedule data science jobs on Jenkins for example. Key word is "operations".

Thanks to its large community and amount of available plugins, you can easily:

  • Integrate with Slack to push notifications, also true for many other chat services
  • Integrate with GitHub, GitLab, Bitbucket via hooks (as opposed to polling)
  • Create and restore backups
  • Integrate with external authentication providers (e.g. OAuth)
  • Define your pipelines as code


  • Large and diverse selection of plugins
  • Build and release automation
  • Operations automation
  • Does not encourage modular and repeatable design patterns: while Pipeline plugin (pipeline as code) partially solves the problem but it's not quite there yet. You cannot encapsulate your entire pipelines in self-contained, reusable and deployable code.
  • Jenkins hasn't caught up in treating containers as first-class citizen. Workloads run directly atop the Jenkins node. This means potential security issues and lacking the ability to constraint resources allocated to workloads.
  • It's very plugins-driven. Although the quantity and diversity of available plugins is amazing; but the plugins architecture makes it easy to bloat your Jenkins node with plugins and destabilize it over time. Plugins are installed globally (with ability to enable/disable at job-level).
Even though Jenkins was designed primarily for CI/CD, I wouldn't say that CI/CD is its greatest strengths at this time and age. Many modern CI/CD tools have emerged recently which specifically target CI/CD problems in lean, code-driven and containerized approach.

Ironically, that makes Jenkins ahead of those CI/CD-focused tools in solving non-traditional problems. I would still think of Jenkins as first choice for following use cases:
  • Automating Standard Operating Procedures - e.g. when you want to give your T1 support team a UI with single-click button to perform a routine SOP.
  • Scheduled test and validations that are not tied to releases - e.g. I've used Jenkins to automate data consistency tests across two layers of data stores and generate a nice HTML report of detected discrepancies, and also notify when any are found!
  • Workloads that require generating custom reports
  • Any other custom operations automation

Score 8 out of 10
Vetted Review
Verified User
Incentivized
In our EAI department, we are using Jenkins to automate building and packaging TIBCO BW project.
Once the testing step is OK, the package is installed firstly in test environment.
Jenkins process is triggred each time a code is commited on SVN.
Jenkins can also serve as a versioning system because each time a build is made, its version is stored in Jenkins
  • Graphical Interface.
  • Possibility to use versioning system like SVN,CVS.
  • We can execute quality code tool to check code quality.
  • Easy to install.
  • Version change too fast can sometimes cause instabilities with some plugins that have not been updated yet.
  • In an open source context, coordination between different developers is often lacking; suddenly, it's sometimes a bit of a mess: new versions come out quickly, but they are not always well tested and regressions appear.
Jenkins is an open source tool that allows you to supervise and integrate all project parts. It becomes the conductor of the entire development workflow
Score 8 out of 10
Vetted Review
Verified User
Incentivized
Jenkins is one of the best open source Continuous Integration and Continuous Deployment tools. It is used in most of the projects in our company where we need a CI/CD pipeline. In the aspect of test automation, it is most helpful for the continuous executions whenever there is a new build.
  • Provides good CI/CD pipeline
  • Not a platform dependent, available for various operating system
  • Huge list of plugins to integrate with many products
  • Easily configurable and good documentation
  • Results metrics could be improved to get good reports.
  • Environment management can be improved, which is not quite straightforward.
  • Initial setup and configuration will be challenging.
Jenkins suite is well where we need to implement continuous integration and continuous deployment is needed. In test automation, it is possible to trigger executions automatically whenever we have new build generated or automation script changes committed. This is helpful to get quicker feedback about product quality. As plugins are available for leading test automation tools, it is also possible to easily integrate.
November 21, 2017

Why We Use Jenkins

Score 10 out of 10
Vetted Review
Verified User
Incentivized
Jenkins is a continuous integration tool on which my team relies heavily. My whole company uses Jenkins. It starts our build process, and goes all the way to start the code pipeline, from then our release goes from qa env, to e2e, and to production. Each job on Jenkins starts automatically when we push a new code to master.
  • Continuous integration
  • Zero downtime and automatic/scheduled jobs
  • No manual effort
  • Jobs can be turned enabled and disabled at any time with any configuration settings
  • For my team in particular, we have some common accounts that we use, which makes it difficult to understand who initiated the job
  • Could use a UI upgrade
  • Don't have mobile flow
It is a great tool for companies who are trying to minimize manual effort and are looking for more automatic release processes. It works great to start our regression tests, code coverage builds, or any ind of automatic ob under the roof. It is easily configurable and jobs can be easily copied and linked to GitHub repo.
November 14, 2017

Go for jenkins

Rene Enriquez | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
We are mainly using jenkins to automate many parts of out software development life cycle like:
- Build artifacts after commits
- Run integration tests
- Deploy artifacts
  • It allows to use plugins for integrating Jenkins with tons of programming languages.
  • Good way to manage credentials in a centralized way.
  • Clustering.
  • Cross platform and easy to be installed.
  • Nice UI to build pipelines, it has a minimalistic UI which is very intuitive.
  • Good notification system that allows to be integrated with Slack, HipChat and other chats that allows to the team be aware of the status of the Jenkins jobs.
  • Graphic representation for the pipelines.
Jenkins is good when:
- You want to automate your build pipelines
- Implementing continuous delivery process
- Automate manual tasks

Jenkins is not good when:
- You have your code in GitHub, I will rather use travis instead which is already included and well integrated
- You want to see in a graphic representation of your pipeline, in this cases another tools like GoCD would be a fit
Jonathan Yu | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Incentivized
I used Jenkins to manage both development and release builds of software at my two previous roles (IBM and Red Hat.) In both cases, each department had its own instances, so that plugins could be customized and managed on a per-team, per-product basis. It enables teams to manage a fleet of build servers (slaves in Jenkins parlance) that can build source code and run tests in an automated fashion, across platforms - this enables cross-platform software to be tested against various versions of Windows and Linux, for example. It can also be used for simple automation tasks, though other tools like Ansible are better suited for those tasks.
  • Minimal but extensible and flexible: Out of the box, Jenkins provides rudimentary capabilities to manage a host system with a framework for running build tasks and installing tools. There are many extension points available for plugins, and so a rich ecosystem of plugins is available. Many version control systems are supported, and integrations with other tools through plugins is excellent.
  • Cross-platform: Supports many platforms and architectures quite easily, thanks to its implementation in Java
  • Design focus: With Blue Ocean, you can get a nice-looking web interface for free
  • Rich ecosystem: As Jenkins has been around for quite some time, there is a rich ecosystem of blogs, tutorials, guides, and documentation available for performing most of the day-to-day tasks you would need. There are also various vendors like CloudBees that offer hosted services.
  • Ease of deployment: Jenkins can be deployed quite easily as a standalone JAR file. There are also system packages available for many Linux operating systems, such as Debian.
  • Difficult to manage build configurations: builds are generally configured through the user interface, which is easier to modify (especially for casual users rather than dedicated release engineers), but this results in changes that can be difficult to track, especially if multiple people have write access to the system. Some teams manage this by restricting people that can modify builds, but this creates a bottleneck. Ideally, the system would provide a good audit trail and change history, allowing changes to be tracked and reverted easily. Competing offerings get around this by version-controlling their configuration (e.g. Travis CI, Drone, AppVeyor) but this results in a slightly higher learning curve.
  • Quality of plugins varies widely: plugins are in various states of maintenance, and some are woefully incomplete and no longer updated. It can be difficult to know whether a plugin is well-written or not, or even actively maintained.
  • Builds are often not easily reproducible: By default, builds are run on the slave systems, which can retain state between runs that cause difficult-to-debug failures. It's possible to get around this by using VM snapshots and periodically reverting to clean systems, or by using the Docker plugin to run builds inside ephemeral containers.
  • Plugins are globally scoped: Because plugin versions and the Jenkins version are per-installation, companies with multiple teams typically run multiple instances of Jenkins. This leads to a maintenance nightmare and a lot of duplicated effort across teams keeping the systems patched, but is necessary because software requires different toolchains. It would be nice if Jenkins supported plugins on a "per tenant" basis, even though the running version would still be one-per-instance. Some platforms (such as OpenShift) get around this by running Jenkins inside a container, but that leaves out Windows slaves.
Jenkins works pretty well for what it does, is easy to use, and aggregates logs as you would expect. For simple builds (especially Java builds), Jenkins works fairly well. It can run on full systems or headless systems, so tests requiring a graphical interface (such as those driven by Selenium and the WebDriver API) have no issues running. It can be used to manage systems to some extent (installing and managing software across a cluster by SSHing into slave machines) but its ecosystem is not geared for that; for a general automation solution, look to Ansible instead.
Mohit Goenka | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
We have been using Jenkins across the company. The infrastructure provided by Jenkins allows us to automate our build process. The ability to work with numerous plugins makes it super easy to change various parts of the manual process to be fully automated. This reduces the level of effort engineers need to put in.
  • UI for displaying test results
  • Detailed logs
  • Easy segmentation of build processes
  • Make it easy to search logs across builds
  • Provide wrappers to replicate jobs across multiple products
  • Provide ability to export data
Jenkins is very well suited if you have a manual push process and are trying to automate it. This would help reduce the work load engineers have. Note that it is important for the process to be driven by scripts. If the build process is based on manual configurations and approvals, Jenkins wouldn't be very useful.
Return to navigation