如果遇到安裝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.UpdateCenter$InstallationJob._run(UpdateCenter.java:2217) Caused: java.io.IOException: Failed to dynamically deploy this plugin at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2221) at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1867) at java.base/java.util.concurrent.Executors$RunnableAdapter.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就應該可以了。