Jenkins部署报错问题:已解决

简介: 其他更多的Jenkins操作可以看我的其他博客 :服务搭建篇(九) 使用GitLab+Jenkins搭建CI\CD执行环境 (上) 基础环境搭建服务搭建篇(十) 使用GitLab+Jenkins搭建CI\CD执行环境 (下) 配置整合

一.Jenkins不能下载插件 报错sun.security.provider.certpath.SunCertPathBuilderException

sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
  at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:145)
  at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:131)
  at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
  at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)
Caused: sun.security.validator.ValidatorException: PKIX path building failed
  at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)
  at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
  at sun.security.validator.Validator.validate(Validator.java:260)
  at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
  at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
  at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
  at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1351)
Caused: javax.net.ssl.SSLHandshakeException
  at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
  at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1917)
  at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:301)
  at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:295)
  at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1369)
  at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:156)
  at sun.security.ssl.Handshaker.processLoop(Handshaker.java:925)
  at sun.security.ssl.Handshaker.process_record(Handshaker.java:860)
  at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1043)
  at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1343)
  at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1371)
  at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355)
  at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563)
  at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
  at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1511)
  at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1439)
  at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
  at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)
  at hudson.model.UpdateCenter$UpdateCenterConfiguration.testConnection(UpdateCenter.java:1406)
Caused: java.io.IOException: Failed to validate the SSL certificate of https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json?uctest
  at hudson.model.UpdateCenter$UpdateCenterConfiguration.testConnection(UpdateCenter.java:1418)
  at hudson.model.UpdateCenter$UpdateCenterConfiguration.checkUpdateCenter(UpdateCenter.java:1189)
  at hudson.model.UpdateCenter$ConnectionCheckJob.run(UpdateCenter.java:1638)
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:118)
  at java.lang.Thread.run(Thread.java:745)

解决方法:

1.更新站点

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

ea2d5ad8c476583f39f28a7b05cffdb9_40cddc5227fd4b16b46a1bc92e8a75ee.png

b5c1b4cd26be4fda65c7e8ea774df7f9_1302f3d1037449d481e79df7dee82273.png


2.下载插件Skip Certificate Check的安装文件

https://plugins.jenkins.io/skip-certificate-check/

ca1d338264c727d8da363e590becb841_ba92d9f08d07476d9f5b13b1171fc698.png



3.在Jenkins离线安装插件

还是刚刚更换站点的那个页面,把刚刚下载下来的文件上传然后点击deploy即可

e897da9254dd293d21606de924194fa2_7bcc874638e0486abbf33ea49a334e9d.png


安装完成后重启Jenkins即可解决

二.jenkins启动失败: jenkins: failed to find a valid Java installation


c4044c53ba91e965be3b1c68623e9bdb_835b5c3cbd0148e584cd554339e540ba.png

解决办法

首先要确保java环境变量可以用


1.查看java环境变量的命令

which java

2.检查配置文件

vim /etc/init.d/jenkins 

8359a6ecd1fa98943bf82c12231c72fc_5456432f24ef43d98b936a10fb07ed74.png

vim /etc/sysconfig/jenkins

b7b7148e47ff5f349735903398a26705_bc5c235bac804d76bff76822727afede.png

检查配置文件中的JAVA环境变量是否都配置正确, 如果有问题就更改为正确的 , 然后执行如下命令使配置重新生效


systemctl daemon-reload

如果配置正确 , 也可以执行上面的命令 , 然后重启 , 如果还是启动失败 , 并且通过

journalctl -xe

命令看到报错

7e917960f89fd0ee6d28b4e8bf67e915_d55702e470aa4f22b4a4d3cfca59add6.png

那么可以使用ln -s的方式建立软连接


3.建立软连接

ln -s /usr/local/jdk/jdk1.8/bin/java /usr/bin/java

4.重新载入配置

systemctl daemon-reload

5.重启Jenkins

systemctl start jenkins

其他更多的Jenkins操作可以看我的其他博客 :

服务搭建篇(九) 使用GitLab+Jenkins搭建CI\CD执行环境 (上) 基础环境搭建

服务搭建篇(十) 使用GitLab+Jenkins搭建CI\CD执行环境 (下) 配置整合

相关文章
|
5月前
|
jenkins Java 测试技术
实现基于Jenkins的持续集成与部署
实现基于Jenkins的持续集成与部署
|
7月前
|
资源调度 jenkins 持续交付
jenkins 自动安装nodejs16.16.0版本报错处理
jenkins 自动安装nodejs16.16.0版本报错处理
759 0
|
2月前
|
jenkins Java 持续交付
Jenkins打包,发布,部署
Jenkins打包,发布,部署
222 0
|
4月前
|
Kubernetes jenkins 持续交付
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
|
4月前
|
jenkins 持续交付 开发工具
"引爆效率革命!Docker+Jenkins+GIT+Tomcat:解锁持续集成魔法,一键部署Java Web应用的梦幻之旅!"
【8月更文挑战第9天】随着软件开发复杂度的增加,自动化变得至关重要。本文通过实例展示如何结合Docker、Jenkins、Git与Tomcat建立高效的持续集成(CI)流程。Docker确保应用环境一致性;Jenkins自动化处理构建、测试和部署;Git管理源代码版本;Tomcat部署Web应用。在Jenkins中配置Git插件并设置项目,集成Docker构建Tomcat应用镜像并运行容器。此外,通过自动化测试、代码质量检查、环境隔离和日志监控确保CI流程顺畅,从而显著提高开发效率和软件质量。
79 3
|
4月前
|
jenkins Java 持续交付
【一键搞定!】Jenkins 自动发布 Java 代码的神奇之旅 —— 从零到英雄的持续集成/部署实战秘籍!
【8月更文挑战第9天】随着软件开发自动化的发展,持续集成(CI)与持续部署(CD)已成为现代流程的核心。Jenkins 作为一款灵活且功能丰富的开源 CI/CD 工具,在业界应用广泛。以一家电商公司的 Java 后端服务为例,通过搭建 Jenkins 自动化发布流程,包括创建 Jenkins 项目、配置 Git 仓库、设置构建触发器以及编写构建脚本等步骤,可以实现代码的快速可靠部署。
154 2
|
4月前
|
负载均衡 jenkins 应用服务中间件
大规模部署下的 Jenkins 高可用性与负载均衡
【8月更文第31天】随着软件开发流程的加速,持续集成/持续交付(CI/CD)工具的重要性日益凸显。Jenkins 作为最受欢迎的 CI/CD 平台之一,为企业提供了强大的自动化构建和部署功能。然而,在大规模部署场景下,单一的 Jenkins 实例可能无法满足高可用性和性能的需求。本文将探讨如何设计和实施 Jenkins 高可用集群,以支持大型组织的需求,并通过负载均衡技术来提高系统的稳定性和响应速度。
287 0
|
4月前
|
jenkins Java 关系型数据库
jenkins学习笔记之十二:sonarqube9.9、SonarScanner4.8部署
jenkins学习笔记之十二:sonarqube9.9、SonarScanner4.8部署
|
5月前
|
Kubernetes jenkins 持续交付
Jenkins部署以及基本使用
Jenkins部署以及基本使用
174 7
|
4月前
|
jenkins 持续交付 网络安全
Jenkins——使用Docker部署Jenkins详解
Jenkins——使用Docker部署Jenkins详解
259 0