插件管理 #
Jenkins拥有丰富的插件生态系统,通过插件可以扩展Jenkins的功能,满足各种CI/CD需求。
插件管理器 #
访问插件管理 #
- 进入 Manage Jenkins
- 点击 Manage Plugins
插件管理界面 #
- Updates: 可更新的插件
- Available: 可安装的插件
- Installed: 已安装的插件
- Advanced: 高级设置
安装插件 #
在线安装 #
- 进入 Available 标签
- 搜索插件名称
- 勾选插件
- 点击 Install without restart 或 Download now and install after restart
上传安装 #
- 进入 Advanced 标签
- 在 Deploy Plugin 区域
- 选择本地的
.hpi或.jpi文件 - 点击 Deploy
从URL安装 #
- 进入 Advanced 标签
- 在 Deploy Plugin 区域
- 输入插件的URL
- 点击 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
插件更新 #
更新流程 #
- 进入 Updates 标签
- 选择要更新的插件
- 点击 Download now and install after restart
- 重启Jenkins
自动更新检查 #
text
Manage Jenkins → System → Update Site
插件安全 #
安全警告 #
Jenkins会在插件管理界面显示安全警告:
- 已知漏洞
- 需要更新
- 已弃用
最佳实践 #
- 定期更新插件
- 只安装必要的插件
- 关注安全公告
- 测试环境先验证
插件开发 #
创建新插件 #
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