Jenkins Plugins
Some of the best plugins provided with Jenkins in App42 DevOps
- 1.
Global Build Stats Plugin
Global build stats plugin allows to gather and display global build result statistics. This plugin is used on the basis of capacity, usage and capability of system requirements. How much time is taken by various builds, what is the waiting period, this plugin can be used to answer such questions and gives stats so that capacity planning can be done. The Plugin gives the result in the form of graphs which can be further utilized.
Navigation Path:
Goto Jenkins -> Manage Jenkins -> Global Build StatsNote : For more info on how to configure the above plugin visit: https://wiki.jenkins-ci.org/display/JENKINS/Global+Build+Stats+Plugin - 2.
Disable-failed-job
The jobs has been failed daily due to various unnecessary reasons. It is difficult to keep track of such jobs and disable/delete them. Hence, this plugin is used to solve the problem by defining the upper number of consecutive failed builds and then disable automatically.
Navigation Path:
Goto Jenkins -> Configuration -> Click on Add post – build action -> Select When Failed To Build, Disable Job from the list.
Please refer the below screenshot: - 3.
Embeddable-build-status
This plugin gives a link which can be pasted anywhere to expose the status of the build and users can get the current state of the job while looking at project.
Navigation Path:
Jenkins -> SampleBuild ->Embeddable Build Status - 4.
Exclusion
The purpose of this plugin is to manage conflicts between jobs. It also allow to assign resources name to every job on Jenkins. A resource (or lock) can be applied in multiple jobs at the time of build execution. The resource will acquire the lock and other builds (if fired) will wait until lock is released.
Navigation Path:
Jenkins -> Exclusion administration
Configurations:- Add a resource by activate the plugin by clicking on “Add resource to manage exclusion”.
- Determine the critical zone, delimited by a start (Critical Block Start) and an end (Critical Block End).
Note : All builds steps that found in critical zone will be managed by Exclusion plugin.Please refer the below screenshot which show the sample of Exclusion Control Panel:
- 5.
Post+build+task
It is required to perform some actions on the basis of build result. If a build pass, some packaging part need to perform and in case if build fails, need to roll back something. The Post build task consists of log texts and a script. This plugin allows the user to execute a shell/batch task depending on the build log output.
Navigation Path:
Jenkins -> SampleDeploy ->Configuration -> Click on Add post-build action > Select Post build task
Please refer the below screenshot which show the configuration for the above plugin: - 6.
JDK Parameter Plugin
This plugin adds a build parameter which can be used to set the JDK to be used with a job on build basis and is useful for an organization where many projects are using different versions of java.
Navigation Path:
Jenkins -> Sample Deploy -> Configuration
Please refer the below screenshot which show the configuration for the above plugin: - 7.
Job Configuration History Plugin
This plugin saves a copy of the configuration file of a job (config.xml) for every change made and of the system configuration (not activated by default) and keep track of config changes in each build including the user information who made the changes.
Navigation Path:
Jenkins -> Job Config History - 8.
Parameterized Trigger plugin
This plugin lets user trigger new builds when a build has been completed, with various ways of specifying parameters for the new build. It allow users to have user input as a variable and use on run time. This is the most used plugin in dynamic environments where lots of options and user-defined values to be used in the build which may keep changing.
- 9.
Pre SCM BuildStep Plugin
This plugin allows build step to run before SCM checkouts so that one perform any build step action on the workspace (cleanup, add a file with some settings for the SCM etc) or call other scripts that need to be run before checking out from the SCM. This plugin gives flexibility when running the job.
Navigation Path:
Jenkins -> SampleDeploy -> Configuration
Please refer the below screenshot which show the configuration for the above plugin: - 10.
Email Extension plugin
This plugin allows user to configure every aspect of email notifications i.e. to customize when an email is sent, who should receive it, and content of the email as follows:
- Triggers – Select the conditions that should cause an email notification to be sent.
- Content – Specify the content of each triggered email’s subject and body.
- Recipients – Specify who should receive an email when it is triggered
- 11.
HipChat
This plugin allows your team to setup build notifications to be sent to HipChat rooms. To enable notifications add “HipChat Notifications” as a post-build step.
Please refer the below screenshot which show the configuration for the above plugin: - 12.
Dependency graph viewer plugin
This plugin shows a dependency graph of the projects using graphviz (graphviz must be installed on the server).
Navigation Path:
Jenkins -> Dependency Graph - 13.
Jacoco plugin
This plugin provides a build-publisher to record and display coverage data as part of builds as well as a new column-type for dashboard views which can display coverage data in Dashboards.
Navigation Path:
Jenkins -> SampleBuild
Please refer the below screenshot which show the configuration for the above plugin:Please refer the below screenshot for sample graph:
- 14.Config File Provider Plugin
Adds the ability to provide configuration files (i.e., settings.xml for maven, XML, groovy, custom files, etc.) loaded through the Jenkins UI which will be copied to the job’s workspace.
Supported File Types
It will allow you to copy various similar configuration files to all your nodes. It also adds the ability to edit those files through the Jenkins UI.In general, you can manage whatever file format you like with this plugin (except binary), but the UI provides some advanced editing support for the following file types:
- Maven settings.xml (user and global)
- plain XML
- Groovy
- JSON
- Custom (plain text)
Steps to Use Config File Provider Plugin :
- 1.Choose the Configuration in the administration home .
- 2.Edit or add a new file .
- 3.Select the configuration type .
- 4.Provide the content & comment.
- 5.Provide any config file to a project.
- 15.Publish Over SSH Plugin
The Publish Over SSH plugins allows one to send files or execute commands over SSH as a build step.
Publish Over SSH plugin can be found on Jenkins -> Configuration page.Features of this plugin:
- 1.SCP – Send files over SSH . (SFTP)
- 2.Execute commands on a remote server (can be disabled for a server configuration, or for the whole plugin) .
- 3.Use username and password (keyboard-interactive) or public key authentication.
- 4.Passwords/passphrases are encrypted in the configuration files and in the UI.
- 5.SSH SFTP/ SSH Exec can be used as a build step during the build process (Freestyle and Matrix projects).
- 6.Optionally override the authentication credentials for each server in the job configuration (or provide them if they have not been provided for that server in the global configuration) .
Configure a job to Publish Over SSH
Exec command : If there is anything in this configuration box then it will be executed on the remote server. If Source files are configured, then the files will be transfered before the Exec command is executed.
If the exit status of the command is not zero, then the publish will fail. STDOUT and STDERR from the command execution are recorded in the Jenkins console.