插件安装失败
通常要下载国外的软件插件之类的时候,链接到国外会太慢或者被墙,这就需要我们去换镜像源
修改配置文件
- 我们在jenkins里更改升级站点的url后
- 若安装插件时还是一直卡在“安装/更新插件中”,则需修改配置文件
原因
原文链接:https://blog.csdn.net/JikeStardy/article/details/105606150
镜像源的用途理解起来很简单:就是第三方团体、组织使用他们自己的服务器对国外官方源上的文件、资料进行同步。这样当我们需要下载使用这些文件时就不用慢慢从国外的服务器获取,而是直接通过国内的网络获取他们早早同步好的文件。所以我们能够看到在配置一些环境、软件时都有换源一说。
- 在各个开源镜像站中,比如清华源,查看Jenkins的update-center.json,能有如下发现
标紫色的部分是Jenkins官方的源,而上面的内容来自清华的镜像源中的update-center.json文件,Jenkins应该是根据升级站点的地址获取到update-center.json,而真正指向更新资源 (比如插件本体、Jenkins本体等) 的url链接都在update-center.json中。
所以换了升级站点的url之后,Jenkins还是会根据update-center.json中的链接去下载,因为国内镜像源上的update-center.json = Jenkins官方源上的update-center.json
接下来就要去修改本地配置文件中的url
配置文件地址:
{你的Jenkins工作目录}/updates/defaulet.json
(一般是 /var/lib/jenkins)
替换 www.google.com --> www.baidu.comjenkins
在安装插件前总是尝试连接www.google.com,来判断网络是否连通。谷歌的网站在大陆是连不上的,所以会出现这个问题。
再全局替换 https://updates.jenkins.io/download/ --> https://mirrors.tuna.tsinghua.edu.cn/jenkins/
命令行操作
sed -i 's#https://updates.jenkins.io/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' {你的Jenkins工作目录}/updates/default.json
sed -i 's#http://www.google.com#https://www.baidu.com#g' {你的Jenkins工作目录}/updates/default.json
保存后重启jenkins
坑点
-
网上很多很多教程都是更改配置文件中的
http://updates.jenkins-ci.org/download
如果直接用
sed
命令替换,不会报错,但也不会成功换源,为什么呢?
- 我们打开配置文件,查找该链接,发现根本查无此文
-
而仔细观察,配置文件里的链接是这样的
https://updates.jenkins.io/download/
而不是下面这样的
http://updates.jenkins-ci.org/download
http
变成了https
-ci.org
变成了.io
再次更换链接,成功
- 事故原因不明,有可能你的配置文件就是这种格式
http://updates.jenkins-ci.org/download
,所以请仔细检查
没有配置文件
假若没有找到updates
文件,那么可能是你的网络连不到Jenkins官方仓库上,是不会生成updates目录的,解决方式也简单
执行如下命令,重启Jenkins,再查看updates文件夹是否生成,生成即可执行上边的命令插件安装加速了
sed -i "s#https://updates.jenkins.io/update-center.json#https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json#g" {你的Jenkins工作目录}/root/hudson.model.UpdateCenter.xml
配置代理服务器
-
假若上面的操作仍然不行,那么就去搭代理服务器
启动
./{你下载的clash} -d .
在网站获取yaml配置信息,覆盖本地clash的配置
登录 http://clash.razord.top/ 选择节点
登录 www.youtube.com 检验是否成功
返回jenkins查看是否成功
- 若还是不行,执行下面两条命令
export http_proxy="http://127.0.0.1:你的vpn端口号"
export https_proxy="http://127.0.0.1:你的vpn端口号"
- 还是不行?我没辙了,只能帮你到这了,加油!