[英]MacOS Jenkins: Locating JRE and importing self-signed certificate
在這里使用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?
到目前為止,我發現的是位於
/usr/libexec/java_home
但是我不確定,因為我下一步的結果失敗了。
問題2 :如何為jenkins啟動添加修改后的cacerts文件的信任庫和密碼?
使用/ 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,還使用了帶有“-”的參數,而這里似乎不需要“-”了嗎?)
由於我使用的是啟動守護程序而不是啟動代理,因此是否必須重新啟動系統? -還是默認的卸載和加載就足以應用更改?
現在已成功解決問題。 我更正了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
我編輯了在/Library/Application\\ Support/Jenkins
找到的jenkins_runner.sh
:
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。
事實證明,我用於keytool和導入cacerts的/ usr / libexec / java_home中的Java / JRE是正確的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.