在这里使用macOS的新手。
我们在MacOS上安装了Jenkins。
我需要知道使用哪个JRE和cacerts,因为我需要导入GitHub企业服务器的自签名证书进行集成。我遇到SSL错误,并尝试遵循在Windows中成功完成的resolving PKIX-path-building-failed-error-message guide。
在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
然后使用以下命令重新启动Jenkins:
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,还使用了带有“-”的参数,而这里似乎不需要“-”?)
由于我使用的是启动守护程序而不是启动代理,因此我是否必须重新启动系统? -或者默认的卸载和加载就足以应用更改?
答案 0 :(得分:0)
现在已成功解决了问题。 我更正了1步,然后添加了另一步。
sudo defaults write /Library/Preferences/org.jenkins-ci.plist Djavax.net.ssl.trustStore /Users/Shared/Jenkins/Home/custom-keystore/cacerts
sudo defaults write /Library/Preferences/org.jenkins-ci.plist Djavax.net.ssl.trustStorePassword changeit
我编辑了jenkins_runner.sh
中的/Library/Application\ Support/Jenkins
:
javaArgs="-Dfile.encoding=UTF-8 -Djavax.net.ssl.trustStore=/Users/Shared/Jenkins/Home/custom-keystore/cacerts -Djavax.net.ssl.trustStorePassword=changeit"
(重新启动)执行
后 launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
我发现所做的更改未完全应用。因此,我必须重新启动我的Mac。
事实证明,我用于密钥工具和导入cacerts的/ usr / libexec / java_home中的Java / JRE是正确的。