新手在这里使用 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/cacerts
defaults write /Library/Preferences/org.jenkins-ci.plist Djavax.net.ssl.keyStorePassword changeit
然后使用以下命令重新启动詹金斯:
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
在此之后,我遇到了各种问题:
代理问题 - (在代理列表中添加服务器 URL 后解决 - macOS 网络配置)
GitHub 和其他以前成功的集成现在出现以下错误:
javax.net.ssl.SSLHandshakeException:握手期间远程主机关闭连接
其他问题 我的步骤中是否遗漏了什么?
我在 Jenkins 启动中添加参数的方式是否正确?(在 Windows 中,我只是修改了 jenkins.xml,也使用了带“-”的参数,而这里似乎不需要“-”?)
由于我使用的是 Launch Daemon 而不是 Launch Agent,我是否必须重新启动系统?- 或者默认卸载和加载应该足以应用更改?
相关分类