目录:
- 1. 安装插件提示: There were errors checking the update sites: SocketException: Connection timed out (Read failed)
- 2. There were errors checking the update sites: IOException: Could not find JSON in http://updates.jenkins-zh.cn/update-center.json?id=default&version=2.222.4
- 3. ERROR: No such settings file /usr/local/maven/conf/setting.xml exists
- 4. Jenkins构建docker镜像,提示Dockerfile不存在
- 5. [Docker] ERROR: Failed to exec start:Connect to 192.168.107.51:2375 [/192.168.107.51] failed: Connection refused (Connection refused)
- 6. jenkins创建任务后不要修改任务名!!!!!
1. 安装插件提示: There were errors checking the update sites: SocketException: Connection timed out (Read failed)
将插件管理里面的地址:https
改为 http
。然后点击submit–>Check Now
然后出现新的异常:There were errors checking the update sites: IOException: Could not find JSON in http://updates.jenkins-zh.cn/update-center.json?id=default&versinotallow=2.222.4
2. There were errors checking the update sites: IOException: Could not find JSON in http://updates.jenkins-zh.cn/update-center.json?id=default&version=2.222.4
如果http
还是请求不通,则改回https
,然后单独在浏览器里访问报错的链接:https://updates.jenkins-zh.cn/update-center.json
发现是正常的,返回了一个很大的JSON,里面包含了Jenkins的版本配置信息。
这时,再次点击问题1里面的Submit Now
,应该就可以正常了。这时,插件列表页也可以正常显示了。
3. ERROR: No such settings file /usr/local/maven/conf/setting.xml exists
这是由于Jenkins里面配置maven配置文件时,路径有误。在全局工具类里面配置maven配置文件时,需要指定的是Jenkins挂载的maven路径。
Jenkins挂载目录
那么配置的时候,指定settings.xml 文件地址应该为:/usr/local/maven/conf/settings.xml
注意名称settings.xml
不要写错了,否则一直提示找不到该xml文件。如果还不行则将当前maven文件夹权限改为777
命令:chmod -R 777 apache-maven-3.6.3
4. Jenkins构建docker镜像,提示Dockerfile不存在
如果Jenkins拉取的是svn上的单模块的项目,应该不会出现在这种问题。又或者是因为github上的代码配置路径的问题。
我这里在管理代码时多加了一层目录,github项目名下,又包含了一层项目名,然后Dockerfile是在项目下,所以导致这里构建的时候,提示找不到Dockerfile文件。
接着试着将Dockerfile 拷贝一份出来,这里还有个问题就是,手动copy的文件,需要修改文件所属的用户和组,否则Jenkins是没有权限读取复制后的文件的。
然后构建试下。
5. [Docker] ERROR: Failed to exec start:Connect to 192.168.107.51:2375 [/192.168.107.51] failed: Connection refused (Connection refused)
这时,外部浏览器访问:http://192.168.104.51:2375/version
是访问不通的,正常应该返回一个docker 版本的信息JSON。
然后看下之前修改的/lib/systemd/system/docker.service
,发现ExecStart
还是默认值,2375端口没有开放。
这里改为:ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
如果是云服务器的话,开放2375端口后,记得要设置IP白名单,防止服务器被用来挖矿。
6. jenkins创建任务后不要修改任务名!!!!!
这个是真的有点坑,在我创建任务后,构建、打包docker镜像都是正常的,然后发现任务名不太合适,就改了一下。然后问题就来了。
打包的docker镜像,一直不是最新的代码,同时新建的两个任务,另一个就是正常的。刚开始以为是代码没有拉下来,结果去了jenkins的工作空间里面看代码,发现确实是最新的代码。
这时候还没有意识到构建docker镜像出问题了。
最后实在想不出来是哪的问题了,就看了下构建的日志,发现新构建的镜像记录,都是走的cache,下面是正常的构建过程:
在找到问题后,删除之前重命名的任务,为了保险起见,又接着删除jenkins工作空间的任务文件夹,然后看了下docker镜像列表,发现重命名任务后,构建的的docker镜像除了tag不一样,ID都是一样的,这也难怪后面部署的都不是最新的代码了。
在删除文件夹和历史任务后,重新新建任务,舒舒服服,一次搞定!