What Are Popular Plugin Categories in Jenkins?

What Are Popular Plugin Categories in Jenkins?

Jenkins is small at its core and powerful because of its plugins. Learn the main families of plugins, what each family is for, which well-known plugins live in it, and how to choose, install and maintain them without creating a mess.

Imagine buying a brand-new smartphone. Out of the box it can make calls, send messages and take photos. But the moment you install apps, it becomes a map, a bank, a music player, a translator and a hundred other useful things. The phone stays the same, and the apps make it fit your life.

Jenkins works in exactly this way. The core program is deliberately small. It knows how to queue work, hand it to worker machines, run steps and show results. Almost everything else, such as talking to Git, sending chat messages, starting containers in the cloud or checking code quality, comes from add-ons called plugins. The Jenkins community has written well over a thousand of them.

With so many plugins, a beginner can feel lost. The trick is to stop thinking about individual plugins and start thinking about categories: families of plugins that solve the same kind of problem. In this guide you will learn the most popular categories, meet the well-known plugins in each one, see how categories fit together in a real delivery flow, and learn how to manage plugins safely. Every new word is explained the first time it appears.

1What Is a Jenkins Plugin?

A plugin is an add-on that teaches Jenkins a new skill without changing the core program.

Let us start from the beginning. Jenkins is a free automation server that builds, tests and delivers software. A plugin is a small software package that you install into Jenkins to add a new ability. One plugin may add a new type of job. Another may add a new step for Pipelines. Another may add a login method, a new dashboard view or a connection to a cloud service.

Plugins are shared through the Update Center, an online catalogue that Jenkins reads. Inside Jenkins, you open the Plugin Manager, a screen where you can search the catalogue, install plugins, update them and remove them. Plugins are also listed on a public website where you can read their descriptions, see their version history and check whether they are actively maintained.

Why does Jenkins work this way? Because no single program can satisfy every team. A bank needs strict login rules and audit trails. A game studio needs to build for many consoles. A start-up needs cloud servers that appear and vanish. By keeping the core small and letting the community build the rest, Jenkins can fit all of them.

1000s
Plugins available in the public catalogue
Small
Size of the Jenkins core, by design
Community
Who writes and maintains most plugins
Analogy

Think of a workshop with a strong, empty workbench. The workbench is Jenkins. Every tool that hangs on the wall, such as the saw, the drill and the measuring tape, is a plugin. You do not buy every tool in the shop on day one. You choose the ones your projects need, and you keep them sharp.

2Why Think in Categories?

Categories turn a giant catalogue into a short checklist.

Trying to learn a thousand plugins one by one is impossible. But nearly every plugin belongs to a family that answers one simple question. Where does the code come from? How is it built? How is it tested? Where does it run? Who is allowed in? Who gets told? Where does it go at the end? Once you know the families, you can look at any Jenkins server and quickly understand what it is doing and what it is missing.

Categories also help you make good decisions. When a new need appears, you first ask, “Which category is this?” and then compare the well-known choices in that category instead of scrolling through an endless search result. And when a problem appears, categories tell you where to look. A build that cannot fetch code points to the source code family. A build that cannot log in points to the security family.

i
Tip

The plugin website uses labels, sometimes called categories or tags, but they are not perfect. This guide groups plugins by the job they do in a delivery flow, which is a more practical way to think for a beginner.

flowchart TD
    J["Jenkins core: queue, agents, steps, results"] --> C1["Source code management"]
    J --> C2["Pipeline and job types"]
    J --> C3["Build tools"]
    J --> C4["Agents and cloud"]
    J --> C5["Security and credentials"]
    J --> C6["Testing and quality"]
    J --> C7["Notifications"]
    J --> C8["Artifacts and deployment"]
    J --> C9["Administration and configuration"]
    J --> C10["Monitoring and visibility"]
    
Figure 1: The ten plugin families covered in this guide, all attached to the Jenkins core

3The Big Picture: Categories at a Glance

Here is the whole map in one table before we visit each family in detail.

CategoryQuestion it answersWell-known examples
Source code managementWhere does the code come from?Git, GitHub Branch Source, GitLab, Bitbucket Branch Source, Subversion
Pipeline and job typesHow do I describe the work?Pipeline, Declarative Pipeline, Shared Libraries, Pipeline Stage View, Multibranch
Build toolsHow is the code compiled and packaged?Maven Integration, Gradle, Ant, NodeJS, MSBuild
Agents and cloudWhere do builds run?Kubernetes, Docker, Docker Pipeline, Amazon EC2, Azure VM Agents, SSH Build Agents
Security and credentialsWho may enter, and how are secrets kept?Credentials, Credentials Binding, Role-based Authorization Strategy, Matrix Authorization Strategy, LDAP, OpenID Connect
Testing and qualityIs the code healthy?JUnit, Warnings Next Generation, SonarQube Scanner, JaCoCo, HTML Publisher
NotificationsWho gets told?Mailer, Email Extension, Slack Notification, Microsoft Teams
Artifacts and deploymentWhere does the result go?Copy Artifact, Artifactory, Nexus Artifact Uploader, AWS Steps, Publish Over SSH
Administration and configurationHow do I keep Jenkins tidy and repeatable?Configuration as Code, Job DSL, Folders, Timestamper, Build Timeout, Workspace Cleanup
Monitoring and visibilityIs Jenkins healthy and who can see it?Prometheus metrics, OpenTelemetry, Monitoring, Dashboard View, Build Monitor View
!
Warning

Plugin names and the way they are grouped change over time. Some plugins get renamed, merged, split or retired. Treat the names in this guide as well-known examples of each family and always check the plugin website for the current status before installing.

4Category 1: Source Code Management

Every build starts with code. These plugins connect Jenkins to the place where the code lives.

Source code management, or SCM, means a system that stores your code and remembers every change ever made to it. Jenkins needs a plugin to talk to each such system.

Core

Git plugin

The most used plugin of all. It lets Jenkins clone a Git repository, choose branches and commits, and show the changes included in each build.

Host

GitHub and GitHub Branch Source

Adds features specific to GitHub, such as discovering repositories, branches and pull requests, and sending build status back.

Host

GitLab plugins

Similar features for GitLab, including webhooks and status reporting on merge requests.

Host

Bitbucket Branch Source

Lets Jenkins discover and build branches and pull requests from Bitbucket.

Older

Subversion and others

Support for older or different version control systems that some organisations still use.

Helper

Git client plugin

The behind-the-scenes engine that provides the Git operations used by other plugins. It is usually installed automatically as a dependency.

A useful way to understand this family is to split it into two layers. The general plugin, Git, knows how to work with any Git repository. The host plugins, such as those for GitHub, GitLab and Bitbucket, add extras that exist only on those services: pull requests, organisation scanning, status marks and webhook handling.

Analogy

The Git plugin is like knowing how to read any book. The host plugins are like knowing the special rules of a particular library: where the new arrivals shelf is, how to reserve a book, and how the librarian stamps a returned one. You need the general skill first, and the library-specific skills are a bonus.

i
Tip

If your team uses one hosting service, install its dedicated plugins and keep the rest away. Extra plugins for services you do not use are only extra things to update and secure.

5Category 2: Pipeline and Job Types

These plugins decide how you describe the work: as a web form, or as code in a file.

A Pipeline describes your whole delivery journey, such as build, test and deploy, in a text file called a Jenkinsfile. Pipeline support is itself delivered as a group of plugins, though most installations already have them from the start.

Plugin or groupWhat it addsWhy it matters
Pipeline (workflow) suiteThe Pipeline job type, steps and engineFoundation of modern Jenkins usage
Pipeline: DeclarativeThe structured, readable Jenkinsfile styleRecommended for most beginners
Pipeline: MultibranchAutomatic jobs for each branch and pull requestEssential for feature-branch teams
Pipeline Shared LibrariesReusable Pipeline code and custom stepsKeeps hundreds of Pipelines consistent
Pipeline Stage ViewA visual grid showing each stage of past buildsMakes progress and failures easy to see
Pipeline Utility StepsExtra helper steps for files, data and archivesSaves you from writing your own helpers
Job DSL and Folders (also in administration)Jobs generated from scripts, and grouping of jobsKeeps large collections organised

The older Freestyle project, which you configure through a web form, is part of the Jenkins core and does not need a special plugin, though plugins add many options to its form. A more visual interface, sometimes seen in older tutorials under the name Blue Ocean, exists as a plugin family too, but it is no longer being actively developed, so newer teams generally rely on the standard interface and the Stage View instead.

Analogy

Pipeline plugins are like the choice between giving a chef spoken orders and handing over a printed recipe. The printed recipe (Jenkinsfile) can be reviewed, shared and improved by anyone. The shared libraries are like a company cookbook with standard sauces that every kitchen uses.

6Category 3: Build Tools

Code must be compiled and packaged. Build tool plugins let Jenkins drive the tools that do this.

A build tool is a program that turns source code into something you can run. Each programming world has its own favourites. Jenkins can always run them through a plain command step, but tool plugins add extras such as managed installations, clean settings screens and reports.

Java

Maven Integration

Adds a Maven job type and settings for Maven builds, popular in the Java world, including handling of multi-module projects.

Java

Gradle plugin

Lets Jenkins configure and invoke Gradle, another widely used build tool for Java and Android.

Java

Ant plugin

Supports the older Ant build tool still found in many existing projects.

Web

NodeJS plugin

Installs and provides chosen Node.js versions to builds, so front-end and JavaScript projects use the version they expect.

.NET

MSBuild and .NET related plugins

Support for building Microsoft-based projects on Windows agents.

Generic

Global Tool Configuration

Part of Jenkins itself, where you register tool installations, such as a specific JDK or Maven version, that plugins can then offer to jobs.

Here is the key benefit: version control of tools. If one project needs an older compiler and another needs the newest, the tool plugins let each project name the version it wants, and Jenkins provides it. This avoids the classic “works on my machine” problem, in which a build passes on one agent and fails on another because the tool versions differ.

!
Warning

Many modern teams skip tool plugins and instead run builds inside containers that already hold the exact tool versions. Both approaches work. What matters is choosing one consistent way, so builds behave the same on every machine.

7Category 4: Agents and Cloud

These plugins decide where builds run, and they are the key to scaling Jenkins.

Quick reminder of two words. The controller is the brain of Jenkins. An agent is a worker machine that does the actual building. Agent and cloud plugins help you create, connect and remove those workers.

PluginWhat it doesGood for
SSH Build AgentsConnects Jenkins to a machine over a secure remote connectionFixed servers and virtual machines
Kubernetes pluginStarts a temporary worker as a small container group when a build needs it, and removes it afterwardsElastic, clean, pay-as-you-go builds
Docker and Docker PipelineRuns build steps inside containers, and adds steps for building and running imagesConsistent environments
Amazon EC2 pluginLaunches and stops cloud virtual machines as agents on demandTeams on that cloud
Azure VM AgentsThe same idea for the Azure cloudTeams on that cloud
Node and label helpersOrganise agents with labels, such as linux or windowsSending jobs to the right machine

The idea of dynamic agents is the star of this family. Instead of keeping many machines switched on all day, waiting for work, Jenkins creates an agent only when a build starts and destroys it when the build ends. Every build gets a fresh, clean worker, so leftovers from a previous build can never spoil the next. You also pay only for the time you actually use.

sequenceDiagram
    participant Dev as Developer
    participant C as Jenkins Controller
    participant K as Cloud or Kubernetes plugin
    participant A as Temporary Agent
    Dev->>C: Push code, build starts
    C->>K: Request a new agent
    K->>A: Create the agent
    A->>C: Connect and ask for work
    C->>A: Send the build steps
    A-->>C: Stream logs and results
    C->>K: Build finished, remove the agent
    K->>A: Delete the agent
    
Figure 2: A cloud plugin creates a temporary agent for one build and removes it afterwards
Analogy

Dynamic agents are like hiring a taxi for one trip instead of owning a car that sits in the garage most of the day. You use exactly what you need, and there is no parking bill afterwards.

8Category 5: Security and Credentials

A Jenkins server can reach your code, your secrets and your production systems. This family guards the doors.

Security plugins answer three questions. Authentication asks “Who are you?” Authorization asks “What are you allowed to do?” And secret handling asks “How do we keep passwords and keys safe?”

Secrets

Credentials and Credentials Binding

The vault. It stores passwords, tokens and keys, and hands them to a build only when needed, hiding them in logs.

Secrets

SSH Credentials

Adds support for storing and using private keys for remote connections.

Login

LDAP and Active Directory

Lets people sign in with the same account they use across the company, instead of a separate Jenkins password.

Login

OpenID Connect and OAuth plugins

Support single sign-on through modern identity providers or code hosts.

Permissions

Matrix Authorization Strategy

A grid where you tick which permissions each user or group has.

Permissions

Role-based Authorization Strategy

Lets you define roles, such as developer or viewer, and assign people to them, which is easier to manage in large teams.

Think about how these fit together. A person opens Jenkins and signs in through the company login system (authentication plugin). Jenkins then checks the roles or the permission grid to decide what that person may see and change (authorization plugin). When a job needs to reach a private repository, it borrows a key from the vault (credentials plugin) and never shows it on screen.

Analogy

Picture an office building. The front desk checks your badge (authentication). Your badge opens only certain doors (authorization). And the safe room holds valuables and logs who took what (credentials).

!
Warning

Plugins are the most common source of Jenkins security notices. Attackers read those notices as well. A server that is months behind on updates is an easy target. Make checking security advisories and applying updates a regular habit.

9Category 6: Testing and Quality

A green build is only useful if it means the code is good. These plugins turn raw test output into clear, trackable results.

When tests run, they usually write their results into report files. By themselves, these files are hard to read. Testing and quality plugins read them and show summaries, trends and warnings right on the build page.

PluginWhat it showsWhy it helps
JUnitPassed, failed and skipped tests, with history graphsMarks a build unstable when tests fail, and shows which ones
Warnings Next GenerationCompiler warnings and results from many code checkers, all in one placeTracks quality problems over time
SonarQube ScannerSends code to a quality analysis server and can wait for its verdictActs as a quality gate
JaCoCo and coverage pluginsHow much of the code the tests actually exerciseReveals untested areas
HTML PublisherPublishes any HTML report as a page inside JenkinsShares reports from tools without their own plugin
Test result analysersFlaky test detection and trend viewsHighlights tests that fail randomly

The idea of a quality gate deserves a mention. A quality gate is a rule that says “only good builds may continue”. For example, a Pipeline may stop if tests fail, if coverage drops below an agreed level, or if a code scanner finds serious problems. Testing and quality plugins provide the numbers that such gates depend on.

i
Tip

Start with just test result publishing. A build that says “ninety-eight tests passed, two failed” is far more useful than one that only says “failed”. Add coverage and code analysis later, one at a time.

Analogy

These plugins are the health check-up for your code. A doctor does not just say “you are sick”. They show you the numbers, the trends and the areas to watch. Test and quality plugins do the same for a build.

10Category 7: Notifications

A failed build that nobody hears about is a wasted build. Notification plugins carry the news to people.

Email

Mailer

The simple, built-in style email notification when a build fails or recovers.

Email

Email Extension

A much more flexible email tool with custom templates, recipient rules and control over when to send.

Chat

Slack Notification

Posts build results into team chat channels so everyone sees them where they already talk.

Chat

Microsoft Teams and similar

The same idea for other chat tools, often through incoming message addresses.

Host

Commit status reporting

Provided by the host plugins. It marks a commit or pull request with a pass or fail mark at the code host.

Alert

Paging and incident tools

Some plugins connect to on-call systems so a serious failure can wake the right person.

Good notification design is more about restraint than about volume. If Jenkins sends a message for every single build, people quickly learn to ignore it. A better pattern is to notify on failure, notify again when the build recovers, and stay quiet the rest of the time. Send the message to the person who caused the change, or to the team channel that can act on it.

!
Warning

Never include secrets in notification text. Messages travel to chat tools and mail servers that Jenkins does not control, and old messages stay in archives for years.

Analogy

A smoke alarm that goes off every time you toast bread soon gets its battery removed. An alarm that rings only when there is a real fire earns your attention. Choose notification rules that behave like the second kind.

11Category 8: Artifacts and Deployment

Once code is built and tested, the result must be stored and delivered. This family handles the last mile.

An artifact is any file a build produces that you want to keep, such as a program package or a container image. Artifact plugins store these files. Deployment plugins send them to the place where they will run.

PurposeExample pluginsWhat they do
Passing files between jobsCopy ArtifactLets one job take files produced by another
Storing artifacts in a repositoryArtifactory and Nexus pluginsPublish and fetch packages from dedicated artifact repositories
Cloud deploymentAWS Steps and other cloud pluginsProvide steps that upload files and update cloud services
Server deploymentPublish Over SSH and similarCopy files to remote servers and run commands there
Container platformsKubernetes CLI and Docker pluginsBuild, push and deploy container images
ApprovalsPipeline input step supportPause and wait for a person to approve a release

An important principle for this family is build once, promote many. Build the program a single time, store it, and then move that same file through testing, staging and production. What you tested is exactly what you ship. Artifact repositories make this possible by keeping a permanent, versioned home for every build result.

i
Tip

Do not use Jenkins itself as a permanent file store. Archived artifacts eat disk space on the controller. For anything you want to keep for a long time or share widely, publish to a proper artifact repository.

12Category 9: Administration and Configuration

These plugins keep Jenkins tidy, repeatable and safe as it grows.

Repeatable

Configuration as Code

Describes the whole Jenkins setup in a text file, so a lost server can be rebuilt quickly and changes can be reviewed like code.

Repeatable

Job DSL

Generates jobs from a script, so hundreds of similar jobs come from one definition.

Order

Folders

Groups jobs like folders on a computer, and lets you apply different permissions per folder.

Clarity

Timestamper

Adds the time to each line of the build log, so you can see which step was slow.

Safety

Build Timeout

Stops a build that runs too long, freeing a worker slot that a frozen build would otherwise block.

Space

Workspace Cleanup

Deletes workspace leftovers before or after builds, keeping disks from filling up and builds from being confused by old files.

Capacity

Throttle Concurrent Builds

Limits how many builds of certain jobs may run at once, protecting shared systems from overload.

Safety

Backup and history helpers

Keep copies of configuration and record who changed which setting and when.

Among these, Configuration as Code is one of the most valuable for growing teams. Without it, a Jenkins server slowly turns into a “snowflake”, a machine tuned by hand over the years with settings that live only in someone’s memory. If it breaks, nobody can rebuild it. With Configuration as Code, the setup lives in a file, stored in a repository, and a new server can be created from that file.

Analogy

A hand-tuned server is like a cake made by an old baker who never wrote the recipe down. It tastes wonderful, until the baker retires. Configuration as Code is the written recipe, so any baker can make the same cake tomorrow.

13Category 10: Monitoring and Visibility

A tool that watches your software must itself be watched, and its results must be easy to see.

Plugin typeExamplesWhat you get
Metrics exportersPrometheus metrics, Metrics pluginNumbers such as queue length, executor use and build durations that monitoring systems can chart
Tracing and telemetryOpenTelemetry pluginDetailed traces of pipelines, showing where time goes
Health viewsMonitoring pluginMemory, processor and thread information about the Jenkins server itself
Dashboard viewsDashboard View, Build Monitor ViewCustom overview screens, including wall-display style status boards
Disk usage helpersDisk usage and cleanup pluginsShows which jobs consume the most space

For the health of Jenkins itself, the signals worth watching are the length and wait time of the build queue, the number of available agents, build duration trends, failure rates, disk space and how quickly the web page responds. Exporting these numbers to a monitoring tool lets you draw graphs and set alerts, so a person is warned before developers start complaining.

i
Tip

The most useful single number is often the queue wait time. If builds wait a long time before starting, you need more agents or more capacity, and this number tells you before anybody complains.

14How the Categories Work Together

Real delivery uses several families at once. Following one change through the whole system shows how they combine.

flowchart LR
    A["Security: who signed in"] --> B["Source code plugins: fetch the code"]
    B --> C["Agents and cloud: start a clean worker"]
    C --> D["Build tool plugins: compile and package"]
    D --> E["Testing plugins: publish test results"]
    E --> F{"Quality gate passed?"}
    F -->|Yes| G["Artifact plugins: store the package"]
    G --> H["Deployment plugins: release"]
    F -->|No| I["Notification plugins: tell the team"]
    H --> J["Notification plugins: report success"]
    K["Administration plugins: timeouts, cleanup, folders"] -.-> C
    L["Monitoring plugins: metrics and dashboards"] -.-> C
    
Figure 3: Plugin families cooperating during one delivery run
1

A person or system triggers the run

Security plugins decide who is allowed, and source code plugins receive the news that code has changed.

2

A worker is prepared

Agent and cloud plugins create a fresh worker, and administration plugins keep the workspace tidy and set time limits.

3

Code is fetched and built

The credentials plugin lends a key to the Git plugin, which downloads the code. Build tool plugins compile and package it.

4

Quality is measured

Testing plugins read the reports and mark the build stable, unstable or failed. A quality gate decides whether to continue.

5

The result is stored and delivered

Artifact plugins keep the package, and deployment plugins send it to its destination, possibly after a human approval.

6

People are told and numbers are recorded

Notification plugins tell the right people, and monitoring plugins record timings and counts for later graphs.

Analogy

This is like a busy restaurant kitchen. The host checks reservations (security), the supplier delivers ingredients (source code), the cook stations are prepared (agents), the cooking happens (build tools), the head chef tastes each dish (testing), the plates go to the pass (artifacts and deployment), and the waiter announces the order (notifications). Each role is a family, and a great dinner needs all of them.

15Choosing the Right Plugin

With many similar plugins on offer, a short checklist helps you pick wisely.

Question to askWhy it matters
Is it actively maintained?Look at the date of the latest release and recent activity. Abandoned plugins may never receive security fixes.
Is it widely used?The installation count on the plugin page shows how many teams rely on it. Popular plugins get tested by many people.
Does it have known security warnings?The plugin page and Jenkins security advisories list known issues. An unresolved warning is a strong reason to avoid it.
Does it work with Pipeline?Some older plugins only work with Freestyle jobs. If you use Pipelines, check for Pipeline support.
What does it depend on?Every plugin may pull in other plugins. More dependencies mean more to maintain.
Do you need a plugin at all?Sometimes a simple command step calling a standard tool is easier and more portable than a plugin.
Is it official or community-run?Both can be excellent, but check who maintains it and how responsive they are.
i
Tip

The best plugin is sometimes no plugin. If a tool already has a good command-line interface, calling it from a plain step keeps your Pipeline portable and removes one item from your maintenance list.

flowchart TD
    N["I have a need"] --> Q1{"Can a plain command step do it simply?"}
    Q1 -->|Yes| S["Use the command step, no plugin"]
    Q1 -->|No| Q2{"Is there a well-maintained plugin?"}
    Q2 -->|No| R["Reconsider the approach or write a shared library step"]
    Q2 -->|Yes| Q3{"Any open security warnings?"}
    Q3 -->|Yes| R
    Q3 -->|No| T["Test on a practice Jenkins first"]
    T --> U["Install in production and record why"]
    
Figure 4: A simple decision path before installing any plugin

16Installing and Managing Plugins

Getting plugins in is easy. Keeping them healthy takes a little routine.

Ways to install

  • Through the Plugin Manager. Open the Available tab, search by name, tick the plugin and install. Jenkins downloads it and its dependencies.
  • During first setup. Jenkins offers a suggested set of popular plugins, which is a good starting point for beginners.
  • From a list file. Teams that build Jenkins in containers keep a text list of plugins and versions, and install exactly that list, so every new server is identical.
  • By uploading a file. For offline servers or private plugins, an administrator can upload a plugin package directly.

Dependencies

A dependency is another plugin that a plugin needs in order to work. When you install one, Jenkins installs its dependencies too. This is convenient but has a cost: a plugin that seems small may quietly bring in a long chain of others. It also means that updating one plugin may require updating several.

flowchart TD
    P["Plugin you chose: Pipeline Stage View"] --> D1["Depends on: Pipeline core"]
    D1 --> D2["Depends on: Workflow API plugins"]
    D2 --> D3["Depends on: Support libraries"]
    P --> D4["Depends on: Jenkins core version"]
    
Figure 5: Installing one plugin can quietly install a chain of others

A safe update routine

1

Read the update list

Check which plugins have updates and read their change notes. Pay special attention to security fixes.

2

Back up first

Copy the Jenkins home folder, or the configuration, so you can roll back if something goes wrong.

3

Try it on a practice copy

Apply the updates to a test Jenkins that mirrors production, and run a few key jobs.

4

Update in a quiet window

Choose a time with few running builds. Plugin updates usually need a restart, which interrupts running work.

5

Verify and watch

Run key jobs, check the logs for errors, and watch monitoring for a day. Keep the old versions handy for a quick rollback.

!
Warning

Do not update everything blindly on a Friday afternoon. A single incompatible plugin can stop jobs from loading, and Jenkins may show a warning about broken dependencies at the top of the page. Test first, and update in small groups rather than all at once.

17Advantages, Disadvantages and Trade-offs

The plugin model is Jenkins’ greatest strength and its most common source of trouble.

Advantages

  • Almost any tool or service can be connected.
  • A small core stays fast and understandable.
  • You install only what you need.
  • A large community keeps producing and improving plugins.
  • New abilities arrive without upgrading Jenkins itself.
  • You can write your own plugin if nothing fits.

Disadvantages and costs

  • Each plugin is something to update and secure.
  • Plugins may conflict or need specific versions of each other.
  • Quality varies from excellent to abandoned.
  • Updating requires testing and often a restart.
  • Too many plugins slow down the interface and startup.
  • Behaviour can differ between plugins doing similar jobs.

The main trade-off is flexibility versus maintenance. Every plugin you add makes Jenkins more capable and slightly more fragile. The healthy path is to be generous with categories that are essential, such as source code, security and testing, and strict with anything that is merely nice to have.

Every plugin is a promise to keep it updated. Only make promises you can keep.

18Security and Reliability of Plugins

Plugins run inside Jenkins with real power. Treat them as part of your security perimeter.

Advisories

Follow security notices

The Jenkins project publishes security advisories, and most concern plugins. Subscribe, read them and act on the ones that affect you.

Minimal

Install less

Each plugin enlarges the surface an attacker can probe. Remove plugins you no longer use.

Source

Use trusted sources

Install from the official update site. Be cautious with plugin files from unknown places.

Pinning

Pin versions in code

Keep a list of exact plugin versions in a repository, so you know what is installed and can reproduce it anywhere.

Rights

Limit who can install

Only a few administrators should be able to add or update plugins, because a plugin can do almost anything.

Backup

Back up before change

Have a way to go back to the previous state, in case an update misbehaves.

!
Warning

Some plugins are marked as deprecated or up for adoption, which means their maintainers have stepped away. Such plugins may keep working for a while, but they will not get fixes. Plan replacements for them before a problem forces your hand.

Analogy

Every plugin is like a contractor you let into your building. Most are honest and skilled. But each one has a key, so you keep a list of who has one, take keys back from those who no longer work for you, and check their references before hiring.

19Design Patterns and Anti-patterns

A pattern is a proven habit. An anti-pattern is a tempting shortcut that causes pain later.

Patterns worth copying

Pattern

Start small, add on purpose

Begin with the suggested set, then add one plugin per real need, and write down why.

Pattern

Plugins as code

Keep the exact plugin list in a file in a repository, so a new server is built from it.

Pattern

Practice server

Keep a test Jenkins that mirrors production, and try every update there first.

Pattern

Prefer core and popular

Choose widely used, well-maintained plugins over obscure ones.

Pattern

Thin plugin use in Pipelines

Where practical, call standard tools through simple steps, and reserve plugins for things that truly need them.

Pattern

Regular pruning

Every few months, review the list and remove plugins nobody uses.

Anti-patterns to avoid

ANTI-PATTERN 01Avoid
What people do

They install every interesting-looking plugin “just in case”.

Why it hurts

Every plugin adds updates, conflicts and security exposure, and most will never be used. The server becomes slower and more fragile.

Better approach

Install only what a real need requires, and remove what is no longer used.

ANTI-PATTERN 02Avoid
What people do

They update all plugins at once on the live server without a backup.

Why it hurts

If one update breaks something, nobody knows which, and there is no easy way back.

Better approach

Back up, test on a practice copy, update in small groups, and keep a rollback plan.

ANTI-PATTERN 03Avoid
What people do

They depend on abandoned plugins for critical work.

Why it hurts

No security fixes will ever arrive, and a future Jenkins upgrade may break them permanently.

Better approach

Choose maintained alternatives, or move the logic into a command step or a shared library.

ANTI-PATTERN 04Avoid
What people do

They configure everything by hand in the Jenkins screens and never record which plugins are installed.

Why it hurts

Nobody can rebuild the server or explain what it depends on, and upgrades become a gamble.

Better approach

Keep the plugin list and the configuration in files under version control.

20Best Practices and Common Mistakes

A few steady habits decide whether the plugin ecosystem helps you or hurts you.

Best practices

  • Think in categories first. Decide the family of your need, then compare the well-known plugins in it.
  • Check maintenance and security before installing. Look at release dates, install counts and advisories.
  • Keep a written list. Record every plugin and why it exists.
  • Update on a schedule. Small, regular updates are safer than rare giant ones.
  • Always back up before changes. A rollback plan turns a disaster into an inconvenience.
  • Test on a practice server. Never learn about a broken update on the live system.
  • Limit who can install plugins. A plugin has nearly unlimited power inside Jenkins.
  • Prune regularly. Remove unused plugins and retire deprecated ones.
  • Watch startup time and page speed. Slow screens are often a sign of too many plugins.

Common mistakes

!
Mistake

Ignoring the warning banner at the top of Jenkins about plugin problems. Those notices point to security issues or broken dependencies. Read them and act.

!
Mistake

Assuming a plugin from a tutorial is still current. Guides age quickly. A plugin named in an old article may have been renamed, replaced or retired.

!
Mistake

Using two plugins that do the same job. Overlapping plugins can fight each other and confuse the team about which one is in charge.

!
Mistake

Forgetting that Freestyle-only plugins may not work in Pipelines. If a plugin has no Pipeline support, its options may be invisible or unusable in a Jenkinsfile.

21Real-World Usage Patterns

Different teams combine categories in different ways. Here are some common shapes.

The small team starter kit

A team of a few developers keeps a lean set: Git and its host plugin, the Pipeline suite, credentials, JUnit for test results, and email or chat notifications. That handful covers building, testing and telling people, and it is easy to maintain.

The container and cloud team

A team running on Kubernetes adds the Kubernetes plugin for temporary agents, Docker Pipeline for image work, and cloud steps for deployment. Because agents are created and destroyed for each build, they need very few tool plugins, since the tools already live in the images.

The large enterprise

A big company adds strong security plugins for single sign-on and role-based permissions, folders to give each team its own space, Configuration as Code so the server can be rebuilt, and metrics exporters that feed monitoring dashboards. A central platform team decides which plugins are allowed, so every project uses the approved set.

The quality-focused product team

A team that cares deeply about code health adds code analysis, coverage reports and quality gates. The Pipeline stops if tests fail or coverage drops, and dashboards show trends over months.

The regulated organisation

A bank runs Jenkins in a private network with an approved, pinned plugin list, plugins mirrored from an internal source, strict role-based access, and an approval step before production. Every change to the plugin list goes through review, because auditors want to see who changed what and why.

The platform team serving many projects

A platform team uses Job DSL, shared libraries and Configuration as Code to generate consistent jobs for hundreds of repositories. Application teams simply add a Jenkinsfile, and everything else, including the plugins behind the scenes, is provided and maintained by the platform team.

22Frequently Asked Questions

Q1What is a Jenkins plugin, in one sentence?
It is an add-on that gives Jenkins a new ability, such as talking to Git, sending chat messages, starting cloud workers or publishing test results, without changing the Jenkins core.
Q2How many plugins are there?
Well over a thousand are listed in the public catalogue. You will only ever need a small handful for a typical setup, so do not try to learn them all.
Q3Which plugin categories should a beginner install first?
Source code management, with the Git plugin and your host’s plugin. Then the Pipeline suite, credentials, test result publishing and a notification plugin. The suggested set offered during first setup already covers most of these.
Q4Where do I install plugins?
In the Plugin Manager inside Jenkins, under the Manage Jenkins area. You can search the Available tab, install, and later update or remove plugins from the same place.
Q5Are plugins safe?
Most are, but plugins are also the most common source of Jenkins security notices. Choose maintained plugins, follow security advisories, update regularly and limit who may install them.
Q6Do I always need a plugin to use a tool?
No. If a tool has a command-line interface, a simple shell or batch step can run it. Plugins add convenience, reports and settings screens, but they also add maintenance. Use a plugin when it clearly earns its place.
Q7What is a plugin dependency?
It is another plugin that a plugin needs to function. Jenkins installs dependencies automatically, but they mean that one plugin can bring several others with it, and updates may need to happen together.
Q8What happens if a plugin is no longer maintained?
It may keep working for a while, but it will not get fixes, including security ones, and may break with future Jenkins versions. Plan to replace it with a maintained alternative or with a plain step or shared library.
Q9Can I keep my plugin list in code?
Yes. Many teams keep a text file listing plugin names and versions, and use it to build identical Jenkins servers. Combined with Configuration as Code, this makes the entire setup reproducible.
Q10Why is my Jenkins slow after installing many plugins?
Every plugin adds work at startup and often in the web interface. If Jenkins has become sluggish, review the list, remove unused plugins, and check monitoring for memory and thread problems.
Q11Is it safe to update plugins from the Plugin Manager directly on production?
It is safer to back up first, test the updates on a practice copy, and then update the live server in a quiet time window in small groups. Updates can require restarts and occasionally cause incompatibilities.

23Summary and Key Takeaways

Jenkins is small by design and grows through plugins. Instead of memorising a thousand names, you can remember a handful of families, each answering one practical question: where the code comes from, how work is described, how it is built, where it runs, who may enter, how quality is measured, who is told, where results go, how the server is kept tidy, and how its health is watched.

Thinking in categories makes choices easier and problems easier to locate. But every plugin is also a small responsibility, since it must be kept updated, secured and compatible with the rest. Teams that choose plugins deliberately, keep a written list, test updates before applying them and prune what they do not need enjoy the power of Jenkins without its usual headaches.

Key Takeaways

  • Plugins are add-ons that give a small Jenkins core its abilities, and you manage them in the Plugin Manager.
  • Think in ten families: source code, Pipeline, build tools, agents and cloud, security, testing and quality, notifications, artifacts and deployment, administration, and monitoring.
  • The essentials for a beginner are Git and its host plugin, the Pipeline suite, credentials, test reporting and a notification plugin.
  • Choose plugins with a checklist: active maintenance, wide use, no open security warnings, Pipeline support and sensible dependencies.
  • Sometimes the best plugin is none, because a plain command step can run many tools without adding a maintenance burden.
  • Update safely: back up, test on a practice server, update in small groups during a quiet window, and verify afterwards.
  • Keep the setup reproducible. Store the plugin list and configuration in version control, and prune unused or deprecated plugins regularly.