Exclusion

This plugin is up for adoption! We are looking for new maintainers. Visit our Adopt a Plugin initiative for more information.

Build Status Contributors Jenkins Plugin GitHub release Jenkins Plugin Installs

This plugin manages exclusions between jobs.

Introduction

This plugin is inspired by the Port Allocator plugin.

The purpose of this plugin is to manage conflicts between jobs.

The Exclusion plugin allows you to assign resource names to jobs on Jenkins. The plugin will ensure that jobs sharing a same resource will not be executed at the same time. The resource name is a semaphore.

With the second part of the plugin you can, in an administration panel, see the list of resources configured in each job, see when a resource is allocated and, thanks to the release button, you can release a resource currently used.

Configuration

Firstly you have to activate the plugin by checking the box "Add resource to manage exclusion". It allows you to add resources. A resource is represented by a name (String). You can add as many resources as needed.

Secondly you have to determine the critical zone, delimited by a start (Critical Block Start) and an end (Critical Block End). All build steps included in a critical zone will be managed by Exclusion plugin.

firstscreen

If you don’t add a start block the plugin won’t do anything. If you don’t add an end block, resources will be release after the last build step.

Administration Panel

screen4

When you are on the home page of Jenkins, you can access the Administration Panel.

In this page, you can see all resources configured. The status (Action) of a job is set to "Currently Used" when the job is running (if he has a resource configured). It means that the resource is currently allocated → the other jobs using the same resource can’t be run at this moment.

You can release a resource by selecting a resource name in the combo box (that displays only the resources currently used) and clicking on "Release resource button".

About me

Owner & maintainer of the project: GitHub: anthonyroux & Twitter: AnthonyRoux_

Issues

Report issues and enhancements in the Jenkins issue tracker. Use the exclusion-plugin component in the JENKINS project.

Contributing

Refer to our contribution guidelines.