温馨提示×

jenkins在centos上如何更新插件

小樊
37
2025-12-09 20:19:31
栏目: 智能运维

在 CentOS 上更新 Jenkins 插件

一 通过 Web 界面更新

  • 登录 Jenkins 管理界面(http://服务器IP:8080)。
  • 进入 Manage JenkinsManage PluginsInstalled,切到 Updates 标签。
  • 勾选需要更新的插件,点击 Download now and install without restart(或“Install without restart”)。
  • 如界面提示需要重启,先执行“Go ahead and restart Jenkins”,或稍后在 Manage Jenkins 首页点击 Restart Jenkins
  • 验证:返回 Installed 查看插件版本是否已升级。

二 命令行批量更新与安全建议

  • 进入 Manage JenkinsManage PluginsAdvanced,勾选 Enable auto-update(如有),保存;随后在 Updates 页执行更新。
  • 使用 Jenkins CLI(需先在“全局安全配置”开启安全矩阵并生成 API Token):
    • 登录获取 CLI:java -jar jenkins-cli.jar -s http://服务器IP:8080 -auth 用户名:API_Token login
    • 查看可更新:java -jar jenkins-cli.jar -s http://服务器IP:8080 -auth 用户名:API_Token list-plugins | grep -E ‘([0-9]+.[0-9]+)’
    • 批量更新:java -jar jenkins-cli.jar -s http://服务器IP:8080 -auth 用户名:API_Token safe-restart
  • 建议:先备份 $JENKINS_HOME(如 /var/lib/jenkins),并在维护窗口操作;更新后检查系统与任务是否正常。

三 离线或内网环境的更新

  • 在有网环境下载插件及其依赖的 .hpi/.jpi 文件(可从插件站点或可信镜像获取),然后在 Manage PluginsAdvancedUpload Plugin 逐个上传并重启。
  • 内网集中代理方案:在 Nexus 建立 raw 代理仓/本地仓/虚拟仓,修改 $JENKINS_HOME/hudson.model.UpdateCenter.xml 的更新站点为内网地址;如 Jenkins 启动时需检测外网连通性,可用 Nginx 将 updates.jenkins.io 等域名跳转至内网地址,并在 /etc/hosts 做必要解析,以避免首次检测失败。

四 提升下载速度并避免更新失败

  • 切换国内插件源(任选其一):
    • Manage PluginsAdvancedUpdate Site 改为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
    • 或编辑 $JENKINS_HOME/updates/default.json,将下载地址替换为:https://mirrors.tuna.tsinghua.edu.cn/jenkins,并把 connectionCheckUrlhttp://www.google.com 改为 https://www.baidu.com
    • 如目录或文件不存在,检查 $JENKINS_HOME 路径(常见为 /var/lib/jenkins),或查看 hudson.model.UpdateCenter.xml 中的 url 配置。
  • 修改后重启 Jenkins 生效:systemctl restart jenkins。

五 常见问题与排查

  • 更新后页面报错或功能异常:回滚到旧版本(在 Installed 页卸载更新或安装指定版本),或暂时禁用问题插件;检查系统日志与插件文档的兼容性说明。
  • 更新卡住或失败:检查 /var/log/jenkins/jenkins.log,确认磁盘空间、网络连通性、代理设置与权限(Jenkins 用户对 $JENKINS_HOME 可读写)。
  • 某些插件需要重启才生效:按界面提示重启,或使用 CLI 的 safe-restart 完成滚动重启。

0