Jenkins 詹金斯以“失败”而告终;PKIX路径建设“;错误

Jenkins 詹金斯以“失败”而告终;PKIX路径建设“;错误,jenkins,sonarqube,gitlab,Jenkins,Sonarqube,Gitlab,为什么Jenkins在SonarQube和GitLab插件的“PKIX路径构建失败”中失败 我发现这篇文章: 然而,它似乎没有完全回答这个问题 stacktrace的两个部分: Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPath

为什么Jenkins在SonarQube和GitLab插件的“PKIX路径构建失败”中失败

我发现这篇文章:

然而,它似乎没有完全回答这个问题

stacktrace的两个部分:

Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target


当配置Jenkins与GitLab和SonarQube一起工作时,JVM需要知道服务器的密钥库和与外部站点签名的证书颁发机构(truststore),以建立SSL连接

在CentOS服务器上的/etc/sysconfig/jenkins中,将以下内容添加到jenkins_JAVA_OPTIONS属性中:

JENKINS_JAVA_OPTIONS="-Djavax.net.ssl.trustStore=<path to trustStore in JKS format> -Djavax.net.ssl.trustStorePassword=<password> -Djavax.ssl.keyStore=<path to server keystore in JKS format> -Djavax.net.ssl.keyStorePassword=<password>"
JENKINS_JAVA_OPTIONS=“-Djavax.net.ssl.trustStore=-Djavax.net.ssl.trustStorePassword=-Djavax.ssl.keyStore=-Djavax.net.ssl.keystrepassword=”
上述内容不同于在Jenkins中设置HTTPS,可以使用以下两个属性设置HTTPS:

JENKINS_HTTPS_KEYSTORE=<path to server keystore in JKS format>
JENKINS_HTTPS_KEYSTORE_PASSWORD=<password>
JENKINS_HTTPS_PORT=<port to listen on for https>
JENKINS\u HTTPS\u密钥库=
JENKINS_HTTPS_密钥库_密码=
JENKINS_HTTPS_端口=
注意:我一直回到这篇CloudBees文章()中,它将密钥存储库和信任存储库向后设置,并没有说要同时设置它们

JENKINS_HTTPS_KEYSTORE=<path to server keystore in JKS format>
JENKINS_HTTPS_KEYSTORE_PASSWORD=<password>
JENKINS_HTTPS_PORT=<port to listen on for https>