從根本解決jenkins無法下載外掛ssl證書問題

光圈1001發表於2020-12-13

解決jenkins無法下載外掛ssl證照問題
部分異常:

sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)

在這裡插入圖片描述

開始:

1、githua下載地址:

https://github.com/escline/InstallCert

2、編譯,java檔案生成class檔案

javac InstallCert.java
3、執行:

執行InstallCert類
重點!這裡代理的地址,一定的是下載外掛的地址,否則也是錯誤的
怎麼看呢?

進入jenkins的外掛管理裡的配置的地址:

manage jenkins–>manage plugins -->高階(中文顯示)–>升級站點
在這裡插入圖片描述

瀏覽器訪問這個地址,看內部的下載映象地址到底是哪個:如果是google和官方地址,那麼會下載失敗

直接訪問,如下圖所示:https://jenkins-update.davidz.cn/update-center.json
在這裡插入圖片描述

所以,此處要執行的命令應該是:

java InstallCert updates.jenkins.io

在這裡插入圖片描述

4、根據提示輸入1,生成證照:
在這裡插入圖片描述

5、查詢jdk的安裝目錄:

echo ${JAVA_HOME}
6、最後一個步驟,證照拷貝到java下的/jre/lib/security/目錄

cp jssecacerts /home/antif/Jdk/jre/lib/security/
7、重啟jenkins,下載外掛成功
在這裡插入圖片描述

總結:
1、每次 點選進入外掛,會重新下載一次/home/antif/.jenkins/updates下的default.json,會在啟動的時候先刪除

日誌:

13-Dec-2020 02:33:37.162 資訊 [Handling POST /jenkins/pluginManager/checkUpdatesServer from 192.168.148.1 : http-nio-8080-exec-10] hudson.util.Retrier.start Attempt #1 to do the action check updates server 13-Dec-2020 02:34:14.588 警告 [Handling POST /jenkins/pluginManager/checkUpdatesServer from 192.168.148.1 : http-nio-8080-exec-10] hudson.model.DownloadService$Downloadable.updateNow No tool installer metadata found for hudson.tasks.Maven.MavenInstaller

2、/home/antif/.jenkins/updates下的default.json,下載地址來源於:升級站點的地址:

這個引數配置:/home/antif/.jenkins/ hudson.model.UpdateCenter.xml

<?xml version='1.1' encoding='UTF-8'?> default http://mukanyun.cn/jenkins/update-center.json 3、沒有必要去手動修改 hudson.model.UpdateCenter.xml以及jenkins/updates下的default.json,兩者的關係也很明確了

頁面配置的地址就是UpdateCenter.xml裡的地址,頁面修改提交就生效,這個地址下載的就是default.json。當你把這幾個配置檔案的關係搞懂之後,就知道怎麼去修改配置檔案解決問題了

4、改成:http://updates.jenkins.io/update-center.json https轉http無效,也沒解決問題

手動替換default.json的方法也是沒有解決根本問題

5、離線更新外掛只能解決安裝中文這種簡單的外掛,如果是安裝git,那麼會下載大量的外掛,同時外掛還要依賴其他的外掛,除非你是有全套的完整的外掛,那麼可以直接安裝即可,切勿自己一個一個的去下載!!!!

6、關閉jenkins安全檢查的引數,我也不知道有沒有效果,大家可以試試

在tomcat啟動的指令碼catalina.sh引數加上:

JAVA_OPTS="-Dhudson.model.DownloadService.noSignatureCheck=true"

如果是java -jar命令啟動的以及docker部署的,請見百度

這個坑很多人踩,主要是網上很多部落格不完整或者方法無效,介紹的不清楚,希望這篇文件能減少你踩坑

後續出最詳細的jenkins以war安裝方式以及配置Git打包的部落格

關注我!不迷茫!

參考地址:

https://www.cnblogs.com/birdUncle/p/13789230.html

https://jenkins-update.davidz.cn/

https://github.com/escline/InstallCert

https://blog.csdn.net/u013490585/article/details/108404871

https://blog.davidz.cn/jenkins-update-solution-inside-gfw/

https://blog.csdn.net/qq_36521507/article/details/105893026

相關文章