Jenkins 解决 SocketTimeoutException: connect timed out
升级Jenkinswar:下载新版的war文件,替换旧版本war文件。重启即可。二进制:卸载旧版本,安装新版本即可。Jenkins程序下载地址:http://mirrors.jenkins-ci.org/note:升级前,请测试该版本和你本地数据的兼容性。如何测试:将JENKINS_HOME拷贝一份到新的机器,用新版的程序启动。测试对应的插件和配置。迁移和备份如果有jenkins服务在运行中,建议
升级Jenkins
war:下载新版的war文件,替换旧版本war文件。重启即可。
二进制:卸载旧版本,安装新版本即可。
Jenkins程序下载地址:http://mirrors.jenkins-ci.org/
note:升级前,请测试该版本和你本地数据的兼容性。如何测试:将JENKINS_HOME拷贝一份到新的机器,用新版的程序启动。测试对应的插件和配置。
迁移和备份
如果有jenkins服务在运行中,建议先停止jenkins服务。
备份Jenkins的配置
进入/root目录下,使用tar -cvf jenkins.tar .jenkins/*命令 对该目录下的所有文件进行打包。然后导出到本地(sz 文件名:导出文件/压缩包等)
然后拷贝数据到新路径,我迁移的路径为 /home/.jenkins,
cp /root/.jenkins /home/.jenkins
设置JENKINS_HOME环境变量参数
打开tomcat的bin目录,编辑catalina.sh文件,在第一行下面添加
export JENKINS_HOME=/home/.jenkins
并且在profile文件最后加入:
vi /etc/profile
在最后加入:
export JENKINS_HOME=/opt/ldkjdata/.jenkins
保存,退出后执行
source /etc/profile
让配置生效
然后启动jenkins,所有的插件,配置,job及备份全部已迁移。
遇到问题:
java.net.SocketTimeoutException: connect timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
at java.net.Socket.connect(Socket.java:606)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:287)
at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:292)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:395)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1570)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
at hudson.model.DownloadService.loadJSON(DownloadService.java:116)
at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:216)
at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:211)
at hudson.PluginManager.checkUpdatesServer(PluginManager.java:1768)
at hudson.util.Retrier.start(Retrier.java:63)
at hudson.PluginManager.doCheckUpdatesServer(PluginManager.java:1739)
at jenkins.DailyCheck.execute(DailyCheck.java:93)
at hudson.model.AsyncPeriodicWork.lambda$doRun$0(AsyncPeriodicWork.java:100)
at java.lang.Thread.run(Thread.java:748)
原因是:
/home/.jenkins/hudson.model.UpdateCenter.xml
连接超时:
https://updates.jenkins.io/update-center.json
因为我服务器是内网的,因此,我找网管处理,临时放开访问上述地址的访问权限。
更多推荐
所有评论(0)