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.
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.
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"]
3The Big Picture: Categories at a Glance
Here is the whole map in one table before we visit each family in detail.
| Category | Question it answers | Well-known examples |
|---|---|---|
| Source code management | Where does the code come from? | Git, GitHub Branch Source, GitLab, Bitbucket Branch Source, Subversion |
| Pipeline and job types | How do I describe the work? | Pipeline, Declarative Pipeline, Shared Libraries, Pipeline Stage View, Multibranch |
| Build tools | How is the code compiled and packaged? | Maven Integration, Gradle, Ant, NodeJS, MSBuild |
| Agents and cloud | Where do builds run? | Kubernetes, Docker, Docker Pipeline, Amazon EC2, Azure VM Agents, SSH Build Agents |
| Security and credentials | Who may enter, and how are secrets kept? | Credentials, Credentials Binding, Role-based Authorization Strategy, Matrix Authorization Strategy, LDAP, OpenID Connect |
| Testing and quality | Is the code healthy? | JUnit, Warnings Next Generation, SonarQube Scanner, JaCoCo, HTML Publisher |
| Notifications | Who gets told? | Mailer, Email Extension, Slack Notification, Microsoft Teams |
| Artifacts and deployment | Where does the result go? | Copy Artifact, Artifactory, Nexus Artifact Uploader, AWS Steps, Publish Over SSH |
| Administration and configuration | How do I keep Jenkins tidy and repeatable? | Configuration as Code, Job DSL, Folders, Timestamper, Build Timeout, Workspace Cleanup |
| Monitoring and visibility | Is Jenkins healthy and who can see it? | Prometheus metrics, OpenTelemetry, Monitoring, Dashboard View, Build Monitor View |
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.
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.
GitHub and GitHub Branch Source
Adds features specific to GitHub, such as discovering repositories, branches and pull requests, and sending build status back.
GitLab plugins
Similar features for GitLab, including webhooks and status reporting on merge requests.
Bitbucket Branch Source
Lets Jenkins discover and build branches and pull requests from Bitbucket.
Subversion and others
Support for older or different version control systems that some organisations still use.
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.
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.
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 group | What it adds | Why it matters |
|---|---|---|
| Pipeline (workflow) suite | The Pipeline job type, steps and engine | Foundation of modern Jenkins usage |
| Pipeline: Declarative | The structured, readable Jenkinsfile style | Recommended for most beginners |
| Pipeline: Multibranch | Automatic jobs for each branch and pull request | Essential for feature-branch teams |
| Pipeline Shared Libraries | Reusable Pipeline code and custom steps | Keeps hundreds of Pipelines consistent |
| Pipeline Stage View | A visual grid showing each stage of past builds | Makes progress and failures easy to see |
| Pipeline Utility Steps | Extra helper steps for files, data and archives | Saves you from writing your own helpers |
| Job DSL and Folders (also in administration) | Jobs generated from scripts, and grouping of jobs | Keeps 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.
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.
Maven Integration
Adds a Maven job type and settings for Maven builds, popular in the Java world, including handling of multi-module projects.
Gradle plugin
Lets Jenkins configure and invoke Gradle, another widely used build tool for Java and Android.
Ant plugin
Supports the older Ant build tool still found in many existing projects.
NodeJS plugin
Installs and provides chosen Node.js versions to builds, so front-end and JavaScript projects use the version they expect.
MSBuild and .NET related plugins
Support for building Microsoft-based projects on Windows agents.
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.
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.
| Plugin | What it does | Good for |
|---|---|---|
| SSH Build Agents | Connects Jenkins to a machine over a secure remote connection | Fixed servers and virtual machines |
| Kubernetes plugin | Starts a temporary worker as a small container group when a build needs it, and removes it afterwards | Elastic, clean, pay-as-you-go builds |
| Docker and Docker Pipeline | Runs build steps inside containers, and adds steps for building and running images | Consistent environments |
| Amazon EC2 plugin | Launches and stops cloud virtual machines as agents on demand | Teams on that cloud |
| Azure VM Agents | The same idea for the Azure cloud | Teams on that cloud |
| Node and label helpers | Organise agents with labels, such as linux or windows | Sending 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
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?”
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.
SSH Credentials
Adds support for storing and using private keys for remote connections.
LDAP and Active Directory
Lets people sign in with the same account they use across the company, instead of a separate Jenkins password.
OpenID Connect and OAuth plugins
Support single sign-on through modern identity providers or code hosts.
Matrix Authorization Strategy
A grid where you tick which permissions each user or group has.
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.
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).
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.
| Plugin | What it shows | Why it helps |
|---|---|---|
| JUnit | Passed, failed and skipped tests, with history graphs | Marks a build unstable when tests fail, and shows which ones |
| Warnings Next Generation | Compiler warnings and results from many code checkers, all in one place | Tracks quality problems over time |
| SonarQube Scanner | Sends code to a quality analysis server and can wait for its verdict | Acts as a quality gate |
| JaCoCo and coverage plugins | How much of the code the tests actually exercise | Reveals untested areas |
| HTML Publisher | Publishes any HTML report as a page inside Jenkins | Shares reports from tools without their own plugin |
| Test result analysers | Flaky test detection and trend views | Highlights 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.
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.
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.
Mailer
The simple, built-in style email notification when a build fails or recovers.
Email Extension
A much more flexible email tool with custom templates, recipient rules and control over when to send.
Slack Notification
Posts build results into team chat channels so everyone sees them where they already talk.
Microsoft Teams and similar
The same idea for other chat tools, often through incoming message addresses.
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.
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.
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.
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.
| Purpose | Example plugins | What they do |
|---|---|---|
| Passing files between jobs | Copy Artifact | Lets one job take files produced by another |
| Storing artifacts in a repository | Artifactory and Nexus plugins | Publish and fetch packages from dedicated artifact repositories |
| Cloud deployment | AWS Steps and other cloud plugins | Provide steps that upload files and update cloud services |
| Server deployment | Publish Over SSH and similar | Copy files to remote servers and run commands there |
| Container platforms | Kubernetes CLI and Docker plugins | Build, push and deploy container images |
| Approvals | Pipeline input step support | Pause 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.
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.
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.
Job DSL
Generates jobs from a script, so hundreds of similar jobs come from one definition.
Folders
Groups jobs like folders on a computer, and lets you apply different permissions per folder.
Timestamper
Adds the time to each line of the build log, so you can see which step was slow.
Build Timeout
Stops a build that runs too long, freeing a worker slot that a frozen build would otherwise block.
Workspace Cleanup
Deletes workspace leftovers before or after builds, keeping disks from filling up and builds from being confused by old files.
Throttle Concurrent Builds
Limits how many builds of certain jobs may run at once, protecting shared systems from overload.
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.
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 type | Examples | What you get |
|---|---|---|
| Metrics exporters | Prometheus metrics, Metrics plugin | Numbers such as queue length, executor use and build durations that monitoring systems can chart |
| Tracing and telemetry | OpenTelemetry plugin | Detailed traces of pipelines, showing where time goes |
| Health views | Monitoring plugin | Memory, processor and thread information about the Jenkins server itself |
| Dashboard views | Dashboard View, Build Monitor View | Custom overview screens, including wall-display style status boards |
| Disk usage helpers | Disk usage and cleanup plugins | Shows 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.
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
A person or system triggers the run
Security plugins decide who is allowed, and source code plugins receive the news that code has changed.
A worker is prepared
Agent and cloud plugins create a fresh worker, and administration plugins keep the workspace tidy and set time limits.
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.
Quality is measured
Testing plugins read the reports and mark the build stable, unstable or failed. A quality gate decides whether to continue.
The result is stored and delivered
Artifact plugins keep the package, and deployment plugins send it to its destination, possibly after a human approval.
People are told and numbers are recorded
Notification plugins tell the right people, and monitoring plugins record timings and counts for later graphs.
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 ask | Why 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. |
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"]
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"]
A safe update routine
Read the update list
Check which plugins have updates and read their change notes. Pay special attention to security fixes.
Back up first
Copy the Jenkins home folder, or the configuration, so you can roll back if something goes wrong.
Try it on a practice copy
Apply the updates to a test Jenkins that mirrors production, and run a few key jobs.
Update in a quiet window
Choose a time with few running builds. Plugin updates usually need a restart, which interrupts running work.
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.
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.
18Security and Reliability of Plugins
Plugins run inside Jenkins with real power. Treat them as part of your security perimeter.
Follow security notices
The Jenkins project publishes security advisories, and most concern plugins. Subscribe, read them and act on the ones that affect you.
Install less
Each plugin enlarges the surface an attacker can probe. Remove plugins you no longer use.
Use trusted sources
Install from the official update site. Be cautious with plugin files from unknown places.
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.
Limit who can install
Only a few administrators should be able to add or update plugins, because a plugin can do almost anything.
Back up before change
Have a way to go back to the previous state, in case an update misbehaves.
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.
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
Start small, add on purpose
Begin with the suggested set, then add one plugin per real need, and write down why.
Plugins as code
Keep the exact plugin list in a file in a repository, so a new server is built from it.
Practice server
Keep a test Jenkins that mirrors production, and try every update there first.
Prefer core and popular
Choose widely used, well-maintained plugins over obscure ones.
Thin plugin use in Pipelines
Where practical, call standard tools through simple steps, and reserve plugins for things that truly need them.
Regular pruning
Every few months, review the list and remove plugins nobody uses.
Anti-patterns to avoid
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.
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.
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.
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
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.
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.
Using two plugins that do the same job. Overlapping plugins can fight each other and confuse the team about which one is in charge.
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
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.