【问题标题】:How to add custom certificates to Jenkins internal JDKs?如何将自定义证书添加到 Jenkins 内部 JDK?
【发布时间】:2018-01-15 07:33:24
【问题描述】:

我对 Jenkins 有意见。

我在主/从环境(Master:Debian no workers,Slave1:Windows 8 workers,Slave2:Debian 8 workers)上使用当前的 LTS 版本 (2.60.2)。

Jenkins Master 使用 SSL 来保护通信,并配置为可以正常工作。其他服务器(SonarQube、Nexus)使用自定义 SSL 证书来保护与这些系统的通信。

现在,我遇到了问题。我使用 Gradle 的构建管道必须在 cacerts 中使用带有我的根证书的 JDK,才能与 SSL 安全系统正确通信。我可以通过谷歌找到的唯一解决方案是安装 JDK,然后将证书添加到信任库。这必须在每次 JDK 更新后重做。

此解决方案可以正常工作,但不是保持 JDK 最新的理想行为。是否有可能将根证书自动附加到 Jenkins 的内部(构建)JDK,或者是否有必要在每台服务器上手动添加它?

【问题讨论】:

    标签: java ssl jenkins gradle certificate


    【解决方案1】:

    您可以将 jvm 进程配置为使用自定义的信任库/密钥库,而不是依赖默认的 jdk 文件。

    要清楚:我说的是指向另一个信任库/密钥库文件(你可以在任何你想要的地方拥有,并且不会在 jdk 升级时被覆盖)。

    一些信息here(例如 javax.net.ssl.truststore 属性)。

    【讨论】:

    • 我们确实试过这个。只要在 jenkins 管道中没有生成独立 java 进程的进程,它就可以很好地工作。新呼叫也必须获取信息。然后就可以了。
    • 对我们来说,我们转而发布经 QS 批准的 JDK。这是我们场景的更好解决方案。所以你的方式行得通,但内部分析导致我们采用另一种方式......
    猜你喜欢
    • 2020-10-12
    • 1970-01-01
    • 2019-08-10
    • 2016-06-30
    • 2015-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-07
    相关资源
    最近更新 更多