安裝 Jenkins 后,初始化下載插件總是失敗,導(dǎo)致安裝不成功,重試好幾次都是卡在安裝插件那。
這里記錄下 Docker 下怎么安裝 Jenkins ,并解決初始安裝插件失敗問(wèn)題。
安裝插件失敗,其實(shí)是拉取了官方的 Jenkins 鏡像,然后在初始化安裝插件時(shí),會(huì)從國(guó)外的網(wǎng)站去獲取,導(dǎo)致安裝非常緩慢,或者安裝失敗。最好的解決方案時(shí)拉取 Jenkins 中文社區(qū) 提供的 Jenkins 鏡像,即可解決。Jenkins 中文官網(wǎng) :https://www.jenkins.io/zh/
安裝步驟獲取鏡像
docker pull jenkinszh/jenkins-zh:latest
Docker官方鏡像倉(cāng)庫(kù) :https://hub.docker.com/
從這里找到j(luò)enkins 中文鏡像
設(shè)置 jenkins 容器掛載目錄
Jenkins 容器啟動(dòng)后,會(huì)產(chǎn)生安裝配置文件,需要把這些文件的生成地址改為,linux服務(wù)器上的目錄。
目的:日后修改配置容易尋找。
創(chuàng)建Jenkins 生成目錄 mkdir /home/jenkins_home
目錄授權(quán) chmod 777/home/jenkins_home 不授權(quán)啟動(dòng)后無(wú)法生成文件
啟動(dòng)命令
docker run -d -p 8085:8080 -p 50000:50000 --name myjenkins -v /home/jenkins_home/:/var/jenkins_home jenkinszh/jenkins-zh:latest
命令解釋?zhuān)?/p>
run 運(yùn)行容器
-d 后臺(tái)運(yùn)行
-p linux服務(wù)器端口 與 Docker 容器端口映射
--name 自定義容器別名
-v linux服務(wù)器目錄 與Docker 容器目錄掛載
最后名跟的時(shí) 拉取的鏡像名和版本
注意:8085 是訪問(wèn)端口,只要沒(méi)占用的都可以用。8080不可更改
-p 50000:50000 不可更改。
/home/jenkins_home/ 本地的生成目錄,可以自定義,與上一步創(chuàng)建并授權(quán)的目錄一致即可
/var/jenkins_homeDocker 容器目錄,不可更改。
訪問(wèn)
服務(wù)器ip + 自定義端口 例: 192.168.0.200:8085
初始密碼
docker ps 獲取當(dāng)前運(yùn)行容器的id
docker logs容器的id
在 logs 日志里面即可看到,類(lèi)似這樣
插件安裝
用中文社區(qū)提供的 Jenkins 鏡像 無(wú)需設(shè)置,直接安裝即可,速度飛快。
附-官方鏡像安裝插件失敗分析
以上面 Jenkins 掛載的目錄為例
在 jenkins_home 的目錄下,hudson.model.UpdateCenter.xml 這個(gè)文件定義了 插件拉取的配置地址,默認(rèn)的地址可以直接訪問(wèn),你會(huì)發(fā)現(xiàn),他連接的是 https://www.google.com/, 由于墻的原因,這個(gè)地址一直訪問(wèn)失敗。
在/jenkins_home/updates 目錄下的default.json 文件內(nèi)容,就是hudson.model.UpdateCenter.xml 定義的插件拉取的配置地址 里面的內(nèi)容。即使你通過(guò)其他博客 修改了 default.json 的文件內(nèi)容,當(dāng)你再次 啟動(dòng)的時(shí)候,會(huì)立馬還原過(guò)來(lái),所以怎么修改都還不會(huì)生效。
而 Jenkins 中文社區(qū)提供的鏡像,這塊已經(jīng)處理好了,插件拉取的配置地址 已經(jīng)換為國(guó)內(nèi)鏡像地址,所以插件下載非??臁?/p>
Jenkins 中文社區(qū) 關(guān)于插件拉取的解釋?zhuān)?/p>
https://community.jenkins-zh.cn/t/jenkins/26
https://jenkins-zh.cn/wechat/articles/2019/11/2019-11-11-update-center-mirror-announcement/
建議了解一下
到此這篇關(guān)于Docker 安裝 Jenkins 并解決初始安裝插件失敗問(wèn)題的文章就介紹到這了,更多相關(guān)Docker 安裝 Jenkins 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!