首页 > 解决方案 > 发布到 Slack 时出错 - Docker jenkins 找不到有效证书

问题描述

我的詹金斯正在运行docker-compose(根据此链接托管)。我正在尝试jenkins通过slack. Slack Notification Plugin -2.45下面是我在 jenkins 中启用的 slack 配置的快照。

詹金斯松弛配置

Test Connection总是返回Failure。下面ssl certificate error在詹金斯System Log部分找到。

Error posting to Slack
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
    at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
    at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
    at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:445)
Caused: sun.security.validator.ValidatorException: PKIX path building failed
    at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:450)
    at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:317)
    at sun.security.validator.Validator.validate(Validator.java:262)
    at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:330)
    at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:237)
    at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:132)
    at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1621)
Caused: javax.net.ssl.SSLHandshakeException

我的 docker-container 图像在下面java version

# docker exec -it jenkins java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)

Plugin Manager从协议安装新插件我没有问题https

要修复证书错误,我已更改https://updates.jenkins.io/update-center.jsonhttp但仍然存在相同的问题。

我们的网络代理团队确认slack.com:443已经允许访问。

我如何解决我的这个问题docker-jenkins?任何指针都会有所帮助。

标签: dockerjenkinsssl-certificateslackkeytool

解决方案


dockerfile使用命令创建COPY ./cacerts /usr/local/openjdk-8/jre/lib/security/,现在 Jenkins 和 Slack 连接有效。


推荐阅读