为了账号安全,请及时绑定邮箱和手机立即绑定

MacOS Jenkins:定位 JRE 并导入自签名证书

MacOS Jenkins:定位 JRE 并导入自签名证书

小怪兽爱吃肉 2021-07-09 18:00:50
新手在这里使用 macOS。我们在 MacOS 上安装了 Jenkins。我需要知道它使用了哪些 JRE 和 cacerts,因为我需要导入 GitHub 企业服务器的自签名证书进行集成。我有 SSL 错误,并试图按照我在 Windows 中成功完成的解决 PKIX-path-building-failed-error-message 指南进行操作。在 Windows Jenkins 安装中,它有自己的 JENKINS_HOME/jre 文件夹,可以在其中找到 lib/security/cacerts。问题 1:在哪里/如何找到 Jenkins 在 MacOS 中使用的 jre?到目前为止,我发现的是 java_home 中的/usr/libexec/java_home但是这个我不太确定,因为我下一步的结果失败了。问题2:如何将修改后的cacerts文件的信任库和密码添加到jenkins启动中?使用 /usr/libexec/java_home 中的 jre,我已将 /jre/lib/security/cacerts 复制到我的 JENKINS_HOME/custom-keystore/cacerts 并在那里导入自签名证书。sudo keytool -importcert -alias github -file JENKINS_HOME/custom-keystore/selfsigned.cer -keystore JENKINS_HOME/custom-keystore/cacerts之后,我修改了 Jenkins 启动参数:-Djavax.net.ssl.trustStore=$JAVA_HOME/jre/lib/security/cacert-Djavax.net.ssl.trustStorePassword=changeit使用:defaults write /Library/Preferences/org.jenkins-ci.plist Djavax.net.ssl.keyStore JENKINS_HOME/custom-keystore/cacertsdefaults write /Library/Preferences/org.jenkins-ci.plist Djavax.net.ssl.keyStorePassword changeit然后使用以下命令重新启动詹金斯:sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plistsudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist在此之后,我遇到了各种问题:代理问题 - (在代理列表中添加服务器 URL 后解决 - macOS 网络配置)GitHub 和其他以前成功的集成现在出现以下错误:javax.net.ssl.SSLHandshakeException:握手期间远程主机关闭连接其他问题 我的步骤中是否遗漏了什么?我在 Jenkins 启动中添加参数的方式是否正确?(在 Windows 中,我只是修改了 jenkins.xml,也使用了带“-”的参数,而这里似乎不需要“-”?)由于我使用的是 Launch Daemon 而不是 Launch Agent,我是否必须重新启动系统?- 或者默认卸载和加载应该足以应用更改?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 210 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信