Jenkins 鏡像無法更新插件中心的3種解決方法

通過Docker 鏡像安裝Jenkins的情況下,每次都會碰到在Jenkins插件無法安裝的情況,導致所有的插件安裝失敗。

Jenkins插件安裝失敗

通過 Docker logs 容器名 來查看實際運行的日誌。例如,docker logs myjenkins -f 來時實的輸出myjenkins容器的日誌, 提示如下:

Caused: java.io.IOException: Failed to load http://updates.jenkins-ci.org/download/plugins/antisamy-markup-formatter/1.6/antisamy-markup-formatter.hpi to /var/jenkins_home/plugins/antisamy-markup-formatter.jpi.tmp
	at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:1217)
Caused: java.io.IOException: Failed to download from http://updates.jenkins-ci.org/download/plugins/antisamy-markup-formatter/1.6/antisamy-markup-formatter.hpi (redirected to: http://mirrors.jenkins-ci.org/plugins/antisamy-markup-formatter/1.6/antisamy-markup-formatter.hpi)

意思就是,docker 容器無法從 http://updates.jenkins-ci.org/download/plugins/ 鏈接處下載Jenkin 插件

通過Jenkins 的 Github 可以看到(鏈接 jenkinsci/docker) ,官方提供了設置來讓我們設置插件中心。

對於Jenkin插件中心設置,主要相關的幾個Docker容器環境變量說明如下:

  • JENKINS_UC:主要的插件更新中心,會提供Jenkin 長期支持的版本。默認值就是 https://updates.jenkins.io.
  • JENKINS_UC_EXPERIMENTAL:主要的插件開發/實驗版本更新中心。
  • JENKINS_UC_DOWNLOAD:從插件更新中心的下載鏈接,默認爲 $JENKINS_UC/downloads

方案一:所以,很多用戶,爲了解決這個問題,會自己重新打一個Jenkins Images,然後覆蓋這個 JENKINS_UC_DOWNLOAD 參數,或者在啓動容器的時候, 重載這個 JENKINS_UC_DOWNLOAD 參數。

本人未試過,但是此法應該是可行的。(主要是懶不想這麼做,因爲大部分的安裝都已經做完了,不想重新來一遍,所以主要試瞭如下的方案)

方案二:以root的用戶進入容器,然後更新鏡像源。等待更新完成,通常能夠解決網絡Jenkins插件中心網絡不可達的問題。

docker exec -it -u root myjenkins bash
apt-get update

方案三: (推薦)在插件安裝界面先繼續,註冊完Admin賬戶後登錄,在 jenkins --> Manage Jenkins --> Manage Plugins --> Advanced 的選項中選中更新Update Site。 將更新源重 https://updates.jenkins-ci.org/update-center.json 替換成 http://mirror.esuni.jp/jenkins/updates/update-center.json。注意替換後的沒有(https)。

Update Site 設置

上面方法嘗試完之後,可以在 Jenkins -> Update Center看到如下成功的界面:

更新後的效果

雖然還是會有些許插件無法正常更新,但是已經無妨了。

參考文檔:


  1. How can I get docker container root’s password - Stack Overflow
  2. Can’t download plugins from https://updates.jenkins.io/download/plugins/ with install-plugins.sh · Issue #594 · jenkinsci/docker
  3. 【Devops】【Jenkins】Jenkins插件安裝失敗處理方法 - Angel擠一擠 - 博客園
  4. docker/README.md at master · jenkinsci/docker
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章