本人安装的配置如下
Jenkins版本:2.204.4
Ubuntu:16.04.3 LTS (GNU/Linux 4.4.0-105-generic x86_64)

Jenkins instance appears to be offline完美解决

在安装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做手脚了。
Jenkins offline-Jenkins离线的真相
不多说了,直接上解决办法:
编辑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来判断网络状态。真的是要考虑以下国人的感受呀。

和你一起终身学习

Logo

更多推荐