Jenkins turns time-consuming tasks into automated successeshttps://www.trustradius.com/build-automationJenkinsUnspecified8.32441012018-01-24T00:15:50.001Z
January 23, 2018
Jenkins turns time-consuming tasks into automated successes
Score 9 out of 101
Overall Satisfaction with Jenkins
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 allowed us to roll out a critical piece of our product which is a home-grown content build system. When changes are checked-in, Jenkins monitors these changes and allows content to be ready to push out when ready to go. This has allowed the CMS system to be sold to customers which offered a positive effect on ROI.
- The only negative impact is that some processes can be quite technical to set up - leaving this task to only be completed by either IT or the development team.
We previously utilized Hudson - which was limited and did not have the extensive plugin abilities of Jenkins. We selected Jenkins for it's ease of use, beautiful interface, and stability. Other software such as Hudson and Bamboo didn't provide these abilities.
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.