插件管理 #

Jenkins拥有丰富的插件生态系统,通过插件可以扩展Jenkins的功能,满足各种CI/CD需求。

插件管理器 #

访问插件管理 #

  1. 进入 Manage Jenkins
  2. 点击 Manage Plugins

插件管理界面 #

  • Updates: 可更新的插件
  • Available: 可安装的插件
  • Installed: 已安装的插件
  • Advanced: 高级设置

安装插件 #

在线安装 #

  1. 进入 Available 标签
  2. 搜索插件名称
  3. 勾选插件
  4. 点击 Install without restartDownload now and install after restart

上传安装 #

  1. 进入 Advanced 标签
  2. Deploy Plugin 区域
  3. 选择本地的 .hpi.jpi 文件
  4. 点击 Deploy

从URL安装 #

  1. 进入 Advanced 标签
  2. Deploy Plugin 区域
  3. 输入插件的URL
  4. 点击 Deploy

常用插件 #

构建工具 #

插件 说明
Maven Integration Maven项目支持
Gradle Plugin Gradle项目支持
NodeJS Plugin Node.js支持
Python Plugin Python支持

代码管理 #

插件 说明
Git Plugin Git支持
GitHub Plugin GitHub集成
GitLab Plugin GitLab集成
Bitbucket Plugin Bitbucket集成
Subversion Plugin SVN支持

构建触发 #

插件 说明
GitHub Branch Source GitHub多分支支持
GitLab Branch Source GitLab多分支支持
Generic Webhook Trigger 通用Webhook触发
Poll SCM SCM轮询触发

代码质量 #

插件 说明
SonarQube Scanner SonarQube集成
Checkstyle Plugin Checkstyle支持
PMD Plugin PMD支持
FindBugs Plugin FindBugs支持
Warnings Plugin 编译警告收集

测试 #

插件 说明
JUnit Plugin JUnit测试报告
Cobertura Plugin 代码覆盖率
JaCoCo Plugin JaCoCo覆盖率
Cucumber Report Cucumber报告

部署 #

插件 说明
Kubernetes Plugin Kubernetes集成
Docker Plugin Docker支持
AWS Steps AWS集成
Azure Container Agents Azure集成

通知 #

插件 说明
Email Extension Plugin 扩展邮件通知
Slack Plugin Slack通知
Microsoft Teams Teams通知
DingTalk 钉钉通知

安全 #

插件 说明
Role-Based Strategy 角色权限管理
LDAP Plugin LDAP认证
SAML Plugin SAML认证
OAuth Plugin OAuth认证

界面增强 #

插件 说明
Blue Ocean 现代化界面
Build Pipeline Plugin 构建流水线视图
Build History Manager 构建历史管理
Rebuilder 重新构建

插件配置 #

全局配置 #

许多插件需要在 Manage Jenkins → System 中进行全局配置。

示例:配置Git #

text
Manage Jenkins → System → Git

示例:配置SonarQube #

text
Manage Jenkins → System → SonarQube servers

示例:配置Slack #

text
Manage Jenkins → System → Slack

插件更新 #

更新流程 #

  1. 进入 Updates 标签
  2. 选择要更新的插件
  3. 点击 Download now and install after restart
  4. 重启Jenkins

自动更新检查 #

text
Manage Jenkins → System → Update Site

插件安全 #

安全警告 #

Jenkins会在插件管理界面显示安全警告:

  • 已知漏洞
  • 需要更新
  • 已弃用

最佳实践 #

  1. 定期更新插件
  2. 只安装必要的插件
  3. 关注安全公告
  4. 测试环境先验证

插件开发 #

创建新插件 #

bash
mvn archetype:generate \
  -Dfilter=io.jenkins.archetypes:

插件结构 #

text
my-plugin/
├── pom.xml
├── src/
│   ├── main/
│   │   ├── java/
│   │   ├── resources/
│   │   └── webapp/
│   └── test/
│       └── java/
└── README.md

插件示例 #

java
public class MyBuilder extends Builder {
    private final String name;

    @DataBoundConstructor
    public MyBuilder(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    @Override
    public boolean perform(AbstractBuild build, Launcher launcher, BuildListener listener) {
        listener.getLogger().println("Hello, " + name + "!");
        return true;
    }

    @Extension
    public static final class DescriptorImpl extends BuildStepDescriptor<Builder> {
        @Override
        public boolean isApplicable(Class<? extends AbstractProject> aClass) {
            return true;
        }

        @Override
        public String getDisplayName() {
            return "My Builder";
        }
    }
}

插件管理API #

列出插件 #

groovy
import jenkins.model.*
import hudson.PluginWrapper

Jenkins.instance.pluginManager.plugins.each { plugin ->
    println "${plugin.shortName}: ${plugin.version}"
}

安装插件 #

groovy
import jenkins.model.*
import hudson.PluginWrapper

def instance = Jenkins.getInstance()
def pm = instance.getPluginManager()
def uc = instance.getUpdateCenter()

uc.getPlugin("plugin-name").deploy()

检查插件状态 #

groovy
import jenkins.model.*

def plugin = Jenkins.instance.pluginManager.getPlugin("git")
if (plugin) {
    println "Git plugin version: ${plugin.version}"
    println "Active: ${plugin.isActive()}"
    println "Enabled: ${plugin.isEnabled()}"
}

常见问题 #

插件依赖问题 #

text
解决方法:
1. 安装缺失的依赖插件
2. 更新插件到兼容版本
3. 检查插件兼容性报告

插件冲突 #

text
解决方法:
1. 禁用冲突插件
2. 更新到兼容版本
3. 联系插件开发者

插件加载失败 #

text
解决方法:
1. 检查日志文件
2. 删除插件目录
3. 重新安装插件

最佳实践 #

1. 最小化安装 #

只安装必要的插件,减少安全风险和维护成本。

2. 定期更新 #

定期检查并更新插件,修复安全漏洞。

3. 测试环境验证 #

在生产环境更新前,先在测试环境验证。

4. 备份配置 #

更新前备份Jenkins配置。

5. 关注兼容性 #

更新Jenkins时检查插件兼容性。

下一步学习 #

小结 #

  • 插件扩展Jenkins功能
  • 通过插件管理器安装和管理插件
  • 只安装必要的插件
  • 定期更新插件
  • 关注安全公告
  • 测试环境先验证
最后更新:2026-03-28