Five Perspectives for Boosting Jenkins Productivity
Jenkins - the leading open source continuous integration tool - is easy to setup and configure. You will have better results and save time, however, if you know the tips, tricks and settings to optimize your installation and usage.
Many articles have been written with perspectives on how to boost Jenkins productivity. Here we share some of our favorites.
Getting Started - A Beginners Guide
Sauce Labs, an automated testing cloud for web and mobile applications, has a great article A Getting Started Guide to Setting Up Jenkins. The guide includes the steps needed for designing and establishing standards for your CI architecture, locating important plugins, configuring system settings, to actually deploying your first CI pipeline.
Plugin Recommendations to Get More from Jenkins
Jenkins is interconnected with well over 1,000 plugins that allow Jenkins to integrate with most development, testing and deployment tools.The Sauce Labs article above recommends tools like Git (to integrate GitHub to clone repository), Slack and Thinbackup (which backs up the global and job-specific configurations). You should also be sure to check out this list from DevOps.com, which gives 15 suggestions for increasing Jenkins productivity and management.
Jenkins 2.0 & Pipeline
Jenkins 2.0, released in April, can be installed with some bundled plugins which should be enough to cover the majority of Continuous Integration and Continuous Delivery tasks for almost any software project.
The largest change in Jenkins 2,0 is the new Pipeline feature, which has been added as the default plugin. It enables you to build Jenkins jobs in the form of simple text scripts (in fact it’s custom DSL on top of Groovy language). Instead of defining the steps in the Jenkins UI, you can orchestrate your Continuous Integration processes from commit to delivery using powerful pipeline scripts - which are version-control-systems friendly and human readable - and then track their progress and status directly in the Jenkins job dashboard.
Jenkins and APM
Within the continuous integration and delivery process, application performance management (APM) can play an important part of build, unit, regression and load tests to drive the automated acceptance testing before new code is pushed to production. The good news is that Jenkins has plugins with several of the leading APM options available. Take a look a CA’s article about the CA APM Jenkins plugin, which “not only allows you to pull APM performance data into Jenkins but also allows you to publish key attributes like build number, status etc to CA APM.” You can also find Jenkins plugins for AppDynamics, Dynatrace AppMon, and New Relic.
Load & Performance Testing with Jenkins
Adding performance tests to your CI scope will help you reduce the risk of performance degradations whenever you add a new feature or fix a bug on your product. Jenkins is a really good CI tool for integrating load and performance testing into the CI process.
We’ve detailed how to do so in depth, looking at it from a few different angles. See for example:
- Watch our webcast Efficient Performance Test Automation – Optimizing the Jenkins Pipeline
- How to Run Apache JMeter - the leading open source load testing tool - With Jenkins
- Running a JMeter Test via Jenkins Pipeline
- You can also find plugins with other open source load testing tools such as Gatling, and Grinder.
- Automated Performance Tests in Jenkins CI environments via open source test automation tool Taurus
If you’re a BlazeMeter user, you can use BlazeMeter's Jenkins Plugin to kick off a test in the BlazeMeter cloud directly from Jenkins.
We hope these different perspectives help you get more from your Continuous Integration with Jenkins experience, and help to boost productivity!
If you have any questions, or would like to suggest additional articles that you found insightful and informative.please leave them in the comments section below.