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:
Any queries pls contact