In this article we are going to cover some important types of Jenkins Plugins and also how to install the plugins in Jenkins.

What is the use of Jenkins plugins?

Jenkins plugins are like handy add-ons or apps for your Jenkins automation server. They provide extra capabilities and features, allowing you to customize Jenkins to suit your specific needs. These plugins help you automate tasks, integrate with different tools, and make your Jenkins environment more powerful and flexible. They’re like the Swiss Army knife of Jenkins, enhancing its functionality and making it a versatile tool for building, testing, and deploying software.

Prerequisites

  • Jenkins installed and running
  • Jenkins Administrator Access

Steps to install plugins in Jenkins

Let’s see the steps to install plugins in Jenkins.

  • Login to your Jenkins account and click on ‘Manage Jenkins’.
  • In the Manage Jenkins, click on ‘Plugins’.
  • In Plugins, click on Available plugins and in the search , Search the plugin of your wish and select the plugin and click on ‘Install’ to install the plugin in jenkins.
  • After the completion of installation click on ‘Go back to the top page’ to start service without restarting the jenkins.
  • Now, verify the plugin in installed plugins.

Some Important Jenkins Plugins [30 Plugins]

We will discuss some important Jenkins Plugins.

Plugin #1: List View

The “List View” Jenkins plugin provides a simple, scrollable list format for displaying and organizing job information on the Jenkins dashboard. It allows users to view and access jobs in a straightforward manner. Configuration involves selecting the “List View” option and customizing the columns to display relevant job details in the Jenkins dashboard.

Plugin #2: Nested View

The “Nested View” Jenkins plugin enables users to create hierarchical views on the Jenkins dashboard, helping organize jobs and projects into structured categories. It supports the creation of parent and child views, providing a hierarchical navigation system for better job organization. Configuration involves creating and configuring parent and child views to suit your project hierarchy.

Plugin #3: Initiate Restart via Script or Automation

You can create scripts or use automation tools to periodically check the status of Jenkins, and if it requires a restart, the script or tool can trigger the restart. This approach is commonly used in production environments to ensure Jenkins remains available and up to date.

Plugin #4: Jenkins Safe Restart Plugin (Deprecated)

There used to be a deprecated plugin called the “Safe Restart Plugin,” which allowed administrators to trigger a restart through the Jenkins web interface. However, this plugin is no longer actively maintained, and its functionality is integrated into Jenkins itself.

Plugin #5: Poll SCM

The “Poll SCM” feature in Jenkins is not a separate plugin but a built-in functionality. It allows Jenkins to periodically check source code repositories for changes and triggers builds when updates are detected, ensuring continuous integration with the latest code. Configuration includes specifying the repository URL and polling schedule.

Plugin #6: Build Periodically

The “Build Periodically” plugin in Jenkins allows you to schedule builds at specified time intervals or using cron-like expressions. It automates repetitive tasks, such as nightly builds or scheduled jobs, based on the defined schedule. Configuration includes setting the build timing and frequency in the job’s settings.

Plugin #7: GitHub Hook Trigger for GitSCM Polling

The “GitHub Hook Trigger for GitSCM Polling” plugin in Jenkins enables automated builds in response to GitHub webhooks, reducing the need for regular polling. It listens for GitHub events and initiates Jenkins jobs upon code changes, improving efficiency and responsiveness in CI/CD workflows. Configuration involves linking Jenkins jobs to specific GitHub repositories and events.

Plugin #8: Build after other projects are built

The “Build after other projects are built” plugin in Jenkins allows you to trigger a job automatically after the successful completion of one or more specified prerequisite jobs. It simplifies complex build pipelines by ensuring proper sequencing of tasks. Configuration includes specifying the downstream job(s) to trigger and the triggering conditions.

Plugin #9: Add timestamps to the Console Output

The “Add timestamps to the Console Output” plugin in Jenkins enhances build logs by adding timestamps to each line, aiding in debugging and monitoring. It provides visibility into when specific actions occurred during a build. Configuration involves enabling the plugin in Jenkins global settings, affecting all job logs by default.

Plugin #10: Discard Old Builds

The “Discard Old Builds” plugin in Jenkins allows you to automatically manage build history by removing or archiving older builds, saving disk space and resources. You can set criteria like the number of builds to keep or age thresholds for removal. This plugin helps maintain a tidy Jenkins environment and control resource usage.

Plugin #11: Restrict where this job can be run

The “Restrict where this job can be run” plugin in Jenkins allows you to specify the nodes or agents where a job can execute, ensuring it runs on the designated environments. It helps distribute workloads efficiently across Jenkins nodes based on labels or node names. Configuration involves selecting the target nodes in the job’s settings.

Plugin #12: Delete workspace before build starts

The “Delete workspace before build starts” plugin in Jenkins clears the workspace directory before each build, ensuring a clean environment for job execution. It helps prevent issues caused by remnants of previous builds and is useful when dealing with sensitive or volatile data. Configuration involves enabling the option in the job’s settings.

Plugin #13: Terminate a build if it’s stuck

The “Terminate a build if it’s stuck” plugin in Jenkins automatically stops a build if it exceeds a specified duration, preventing stalled or hung jobs from consuming resources indefinitely. It enhances Jenkins’ reliability by terminating unresponsive builds based on user-defined time thresholds. Configuration involves setting the maximum build duration in the job’s settings.

Plugin #14: Global Tool Configuration

The “Global Tool Configuration” plugin in Jenkins allows administrators to define and manage global tools, such as JDKs, Git installations, and more, that can be used across multiple jobs. It centralizes tool configurations, ensuring consistency and simplifying setup for Jenkins projects. Configuration involves specifying tool installations, versions, and locations in Jenkins’ global settings.

Plugin #15: Build Executor Status

The “Build Executor Status” plugin in Jenkins provides a visual overview of the current utilization and status of build executors (build nodes or agents). It helps administrators monitor and manage the workload on Jenkins nodes, making it easier to optimize resource allocation. Configuration involves installing the plugin, and the status can be viewed in the Jenkins dashboard.

Plugin #16: Disk Usage or Metrics Disk Usage

The “Disk Usage” or “Metrics Disk Usage” plugin in Jenkins tracks and displays disk usage metrics for builds and job workspaces. It helps administrators monitor and manage storage consumption, preventing disk space issues. Configuration involves installing the plugin and viewing disk usage statistics in the Jenkins dashboard.

Plugin #17: ThinBackup

The ThinBackup Jenkins plugin simplifies the backup process by allowing users to schedule and automate backups of critical Jenkins configurations and job definitions. It offers retention policies to manage backup history and can store backups on various storage locations, including the Jenkins master, remote servers, or cloud storage. The plugin helps safeguard against data loss and streamline recovery in case of issues.

Plugin #18: Periodic Backup

The “Periodic Backup” Jenkins plugin automates regular backups of your Jenkins instance, including configurations and job data. It allows you to define backup schedules and retention policies, ensuring data safety and easy recovery. Backups can be stored locally or on remote servers for redundancy.

Plugin #19: Amazon S3 Backup

The “Amazon S3 Backup” Jenkins plugin enables users to back up their Jenkins configurations and data directly to Amazon S3, Amazon Web Services’ cloud storage service. It offers scheduled backups with retention policies and supports custom AWS credentials, ensuring data security and availability in AWS S3 buckets.

Plugin #20: Notification

The “Notification” Jenkins plugin facilitates communication with external systems and services by sending notifications and alerts. It supports various notification methods, including email, instant messaging, and chat platforms, helping teams stay informed about build and job status. Configuration options allow customization of notification content and recipients.

Plugin #21: SMTP Server Credentials

The “SMTP Server Credentials” Jenkins plugin simplifies email configuration by centralizing SMTP server credentials. It securely stores SMTP server login information, including username and password, making it easier to set up email notifications in Jenkins. Users can reference these credentials when configuring email servers for build notifications and alerts.

Plugin #22: Email Notification

The “Email Notification” Jenkins plugin enables automated email notifications for build results and job status. It provides customizable email templates and supports integration with various SMTP servers. Users can configure recipients, content, and triggers for email notifications, enhancing communication in the CI/CD pipeline.

Plugin #23: Outlook 365 Connector

The “Outlook 365 Connector” Jenkins plugin integrates Jenkins with Microsoft Outlook 365, enabling automated email notifications and alerts. It supports sending build status notifications, test results, and other Jenkins updates directly to Outlook 365 users and groups. Configuration includes specifying SMTP server settings and authentication details for Outlook 365.

Plugin #24: Edit Description

The “Edit Description” Jenkins plugin allows users to edit and update the build job descriptions directly from the Jenkins interface. It simplifies documentation management by providing an intuitive interface to modify and save job descriptions, enhancing visibility and organization in the Jenkins dashboard.

Plugin #25: AWS

The AWS Jenkins plugin enables seamless integration between Jenkins and Amazon Web Services (AWS). It offers capabilities such as provisioning and managing AWS resources, deploying applications to AWS services, and interacting with AWS services for building, testing, and deploying applications in Jenkins pipelines. Configuration includes setting AWS credentials and specifying AWS-related steps in Jenkins jobs, simplifying CI/CD workflows on AWS infrastructure.

Plugin #26: .NET

The “.NET Jenkins Plugin” provides support for building and deploying .NET applications within Jenkins pipelines. It allows Jenkins to interact with .NET tools, frameworks, and libraries, making it easier to automate .NET application development, testing, and deployment tasks. Configuration includes specifying .NET tools and parameters in Jenkins job definitions, streamlining the CI/CD process for .NET projects.

Plugin #27: PHP

The “PHP Jenkins Plugin” facilitates the integration of Jenkins with PHP projects by offering tools and features tailored for PHP development. It simplifies tasks such as building, testing, and deploying PHP applications, ensuring smooth automation of PHP-based CI/CD pipelines. Configuration includes setting up PHP-related build steps and configurations within Jenkins jobs, enhancing PHP project automation.

Plugin #28: Git

The “Git Jenkins Plugin” allows Jenkins to interact seamlessly with Git repositories, a popular version control system. It enables Jenkins to clone, fetch, and manage Git repositories, trigger builds upon code changes, and integrate with Git hosting services like GitHub and GitLab. Configuration involves specifying Git repository URLs and authentication credentials in Jenkins job settings, streamlining CI/CD workflows for Git-based projects.

Plugin #29: Maven

The “Maven Jenkins Plugin” streamlines the build and management of Java projects using Apache Maven within Jenkins. It automates tasks like compiling code, running tests, and packaging applications, making it a powerful tool for Java-based CI/CD pipelines. Configuration includes specifying Maven goals and options in Jenkins job settings, simplifying Java project automation in Jenkins.

Plugin #30: Cloud

The “Cloud” Jenkins plugin enables dynamic provisioning of virtual machines and containers on cloud platforms such as AWS, Azure, and Google Cloud. It allows Jenkins to scale resources based on demand, ensuring efficient resource utilization in CI/CD workflows. Configuration includes defining cloud profiles and templates for automated resource provisioning and de-provisioning.

Conclusion:

Jenkins offers a rich ecosystem of plugins that enhance its functionality and adapt it to various needs. These plugins can be broadly categorized into types such as SCM integrations, views, backup, notification, and more. They empower users to automate, customize, and optimize their CI/CD pipelines, making Jenkins a versatile and powerful tool for software development and automation. The choice of plugins depends on specific requirements, and combining them can create tailored solutions to meet unique challenges in software development and deployment.

Related Articles:

How to Install Jenkins on Ubuntu

Reference:

Jenkins official page

Any queries pls contact

@Rushi-InfoTech

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *