Dmitri Tikhanski is a Contributing Writer to the BlazeMeter blog.

Learn JMeter in 5 Hours

Start Learning
Slack

Run massively scalable performance tests on web, mobile, and APIs

Jun 29 2016

Jenkins 2.0 - A New DevOps Engineer On Your Team

Jenkins is a free and open source build server written in Java which is widely used by individuals, small companies and large enterprises for setting up Continuous Integration and Continuous Delivery processes since February 2011 (and even earlier given its Hudson ancestor).

 

Due to being free and open source, and having an unparalleled plugin ecosystem (there are more than 1000 plugins for Jenkins available) that provides extreme flexibility and support of numerous version control systems, build types, build and post-build steps, Jenkins has become a de-facto standard for automating build, testing, packaging and installation jobs.

 

Meet Jenkins 2.0

Jenkins Continuous Integration

A New Approach For Shipping Plugins

 

For the last 5 years, Jenkins had a key challenge, in that it was more of a “skeleton” - not very usable out-of-the-box, with minimal integration capabilities. Jenkins users had to figure out which plugins were required in order to implement their current tasks, find the relevant ones and install them.

 

How to Setup Jenkins 2.0

 

This “do-it-yourself” ideology has been reviewed and updated. 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 dialog providing the choice whether to proceed with the default set of plugins or to choose your own is now displayed during the Jenkins installation.

 

 

Continuous Delivery Pipeline

 

The IT world changes quickly and during the last few years, new software development methodologies appeared and increasingly were adopted. This resulted in Jenkins “Freestyle” projects not fully covering everyone's needs anymore as the number of automated tasks which normally happens between the commit and publishing the new version to production has significantly increased.

 

That’s why the new Pipeline feature 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.

 

 

Interesting more about integrating performance tests into the new Jenkins Pipeline feature? View our webcast  Efficient Performance Test Automation – Optimizing the Jenkins Pipeline.

 

Modern Look And Feel

 

Some Jenkins elements were redesigned to provide a better user experience and make configuration and usage more intuitive and user friendly, including (but not limited to):

 

1. Installation dialogs - i.e. “Customize Jenkins” page where you can select which plugins to install

 

2. “New Item” dialog: Jenkins 1.x on the left, Jenkins 2.0 - on the right

 

 

3. Tabbed interface on the “Job Configuration” page

 

 

4. Improvements of “View”, “Agent” and other dialogs

 

5. The Jenkins website was improved as well, especially the plugins index section 

 

Backwards Compatibility

 

Jenkins 2.0 is fully backwards compatible with Jenkins 1.x configuration and plugins. All you need to do is to replace the jenkins.war file on your application server with the new one and start enjoying the new Jenkins version.

 

If you’re running Jenkins 2.0 for the first time, you will need to provide the administrator password during installation. The password is being printed to stdout and stored into the /secrets/initialAdminPassword file under the Jenkins home folder.

 

 

If you will be logged out, for instance due to inactivity or after Jenkins restart, use admin as the username.

 

Running JMeter and BlazeMeter Tests with Jenkins 2.0

 

It’s easy to kick off a performance test at any stage of Jenkins job.

 

  • A JMeter test can be launched in multiple ways:

    • Batch file

    • Ant Task

    • Maven Plugin

    • Triggered from Java code

  • BlazeMeter provides a REST API  - JSON over HTTP, so there are multiple ways to execute API calls, including:

 

However, if you would like to kick off BlazeMeter tests directly as a Jenkins Build Step, see the performance test results right in the Jenkins dashboard, and be able to fail the build in case of the response time exceeding certain thresholds or performance degradation introduced by a recent commit - it’s better to use the corresponding Jenkins plugins:

 

 

If you had these plugins previously - you don’t need to take any action - the plugins will be present and working after upgrade to Jenkins 2.0.

 

If you starting with a fresh Jenkins 2.0 installation, you can install the above plugins via the Plugin Manager:

 

Manage Jenkins -> Manage Plugins -> Available tab -> type the plugin name in the Filter input.

 

 

Want to Learn More?

 

Watch our on-demand webcast on How to Build Testing Into Your CI Pipeline, featuring a special guest DevOps Engineer from MIT. 

 

Interesting more about integrating performance tests into the new Jenkins Pipeline feature? View our webcast Efficient Performance Test Automation – Optimizing the Jenkins Pipeline.

 

You might also be interested in checking out the following articles for detailed Performance and BlazeMeter plugins installation and usage instructions.

 

Continuous Integration 101: How to Run JMeter With Jenkins

 

BlazeMeter's Jenkins Plugin

 

If you have any questions, feel free to leave them in the comments section below.

Interested in writing for our Blog?Send us a pitch!

Your email is required to complete the test. If you proceed, your test will be aborted.