jenkins插件下载失败bug

如果遇到安装jenkins插件经常失败并报以下类似错误,很可能是因为jenkins国外官方插件地址下载速度非常慢,我们可以修改为国内插件地址。

java.io.IOException: Failed to load: SCM API Plugin (scm-api 676.v886669a_199a_a_) - Jenkins (2.361.4) or higher required - Failed to load: Structs Plugin (structs 325.vcb_307d2a_2782) at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:1018) at hudson.PluginManager.dynamicLoad(PluginManager.java:926) Caused: java.io.IOException: Failed to install scm-api plugin at hudson.PluginManager.dynamicLoad(PluginManager.java:940) at hudson.model.UpdateCenterInstallationJob._run(UpdateCenter.java:2217) Caused: java.io.IOException: Failed to dynamically deploy this plugin at hudson.model.UpdateCenterInstallationJob._run(UpdateCenter.java:2221) at hudson.model.UpdateCenterDownloadJob.run(UpdateCenter.java:1867) at java.base/java.util.concurrent.ExecutorsRunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:121) at java.base/java.lang.Thread.run(Thread.java:829)

先进入插件文件目录 cd /var/jenkins_home/updates(找到自己对应的文件目录)

将国外官方地址替换为国内清华大学jenkins插件地址

sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

命令解释:

第一个命令:

sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json

这个命令在 default.json 文件中查找所有的 http://updates.jenkins-ci.org/download 字符串,并将其替换为 https://mirrors.tuna.tsinghua.edu.cn/jenkins。这里使用了 -i 选项,这意味着对文件进行原地编辑,即直接修改文件内容,而不是输出到标准输出。

第二个命令:

sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

这个命令在 default.json 文件中查找所有的 http://www.google.com 字符串,并将其替换为 https://www.baidu.com。同样,这里也使用了 -i 选项进行原地编辑。


然后替换国内插件的更新地址

Jenkins > Manage Jenkins > Plugin Manager、点击Advanced页面替换Update Site的url、并submit

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

最后重启Jenkins就应该可以了。

相关推荐
花姐夫Jun1 小时前
在 CentOS 8 系统上安装 Jenkins 的全过程
linux·centos·jenkins
INFINI Labs1 小时前
Elasticsearch filter context 的使用原理
大数据·elasticsearch·jenkins·filter·querycache
baihb10242 小时前
Jenkins 构建流水线
运维·jenkins
VinciYan12 小时前
基于Jenkins+Docker的自动化部署实践——整合Git与Python脚本实现远程部署
python·ubuntu·docker·自动化·jenkins·.net·运维开发
jwensh15 小时前
【Jenkins】Declarative和Scripted两种脚本模式有什么具体的区别
运维·前端·jenkins
鸭梨山大。1 天前
Jenkins安全部署规范及安全基线
安全·中间件·jenkins
鸭梨山大。1 天前
Jenkins 任意文件读取(CVE-2024-23897)修复及复现
安全·中间件·jenkins
两张不够花1 天前
Jenkins 持续集成部署
运维·jenkins
沙尘暴炒饭1 天前
关于uni-forms组件的bug【提交的字段[‘*‘]在数据库中并不存在】
bug
青木沐1 天前
Jenkins介绍
运维·jenkins