Jenkins instance appears to be offline 完美解决方案总结
本人安装的配置如下Jenkins版本:2.204.4Ubuntu:16.04.3 LTS (GNU/Linux 4.4.0-105-generic x86_64)在安装Jenkins时候遇到的Jenkins在安装的时候一只显示“Jenkins instance appears to be offline”找了很多五花八门的解决办法。但是无一能解决我的问题。经历了各种折腾后我找到了我的...
本人安装的配置如下
Jenkins版本:2.204.4
Ubuntu:16.04.3 LTS (GNU/Linux 4.4.0-105-generic x86_64)
在安装Jenkins时候遇到的Jenkins在安装的时候一直显示“Jenkins instance appears to be offline”
找了很多五花八门的解决办法。但是无一能解决我的问题。经历了各种折腾后我找到了我的解决办法。同时也在这里记录一下所有我收集到的解决办法。希望可以帮到其他折腾中的童鞋们。
解决办法1 - 安全证书问题HTTS/SSL
如果你安装在本机比如MacOS, Windows, 本地虚拟机
等,你会发现你的本地无法请求Jenkins的HTTPS链接。 这个问题可以通过修改hudson.model.UpdateCenter.xml
里面的url地址,从https改为http。
修改hudson.model.UpdateCenter.xml
找到hudson.model.UpdateCenter.xml
的所在文件路径
find / -name "hudson.model.UpdateCenter.xml"
# 输入以上命令会返回所有这个文件的所在路径
/var/lib/jenkins/hudson.model.UpdateCenter.xml
macOS的同学文件路径在:
/Users/Shared/Jenkins/Home/hudson.model.UpdateCenter.xml
编辑hudson.model.UpdateCenter.xml
sudo vim /var/lib/jenkins/hudson.model.UpdateCenter.xml
找到文件里面的以下内容
...
<url>https://updates.jenkins.io/update-center.json</url>
...
改为
...
<url>http://updates.jenkins.io/update-center.json</url>
...
或者可以改为使用中国镜像
...
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
...
修改好之后重启Jenkins,
http:localhost:8080/restart
或者sudo service jenkins restart
- 用brew安装的可以使用
brew services restart jenkins-lts
然后重新访问Jenkins网址,就会发现Jenkins可以正常安装了。
如果这个方法无效,可以看看第二种方式
解决办法2 - 连接失败因为无法访问google
如果第一种方式无效,那很有可能就是我遇到的这种,这种估计也只有在国内才会出现,所以基本上网上找不到这种同样的问题。
因为jenkins在检测网络连接是否可行的时候,万万没有想到居然用可否访问google.com来决定是否有网。这个对国内的童鞋来说,基本都是无法访问的。
打开http://domain.com/updateCenter
或者 http://localhost:8080/updateCenter
如果你看到有如下报错,那恭喜你,你已经被国内伟大的城墙导致浪费了几十个小时。就是因为无法访问google.com所以Jenkins觉得你就是没有网络的。呵呵!
不过好消息就是,既然是用可否访问google.com来判定是否有网络,那我们就可以在Host做手脚了。
不多说了,直接上解决办法:
编辑host
文件,linux系统下都是统一在/etc/host
vim /etc/host
在文件最后添加以下内容
127.0.0.1 www.google.com
保存后重启Jenkins,
http:localhost:8080/restart
或者sudo service jenkins restart
- 用brew安装的可以使用
brew services restart jenkins-lts
然后重新访问Jenkins网址,就会发现Jenkins可以正常安装了。
其实这里是把访问www.google.com的时候指向到本地,这样Jenkins就会发现可以ping通google的网址,就会觉得你有网了,不是无网状态了。万万没想到居然选择用google来判断网络状态。真的是要考虑以下国人的感受呀。
更多推荐
所有评论(0)