簡體   English   中英

MacOS Jenkins:查找JRE並導入自簽名證書

[英]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

此后,我面臨各種問題:

  1. 代理問題-(在代理列表中添加服務器URL后解決-macOS網絡配置)

  2. GitHub和其他先前成功的集成現在出現以下錯誤:

    javax.net.ssl.SSLHandshakeException:握手期間遠程主機關閉連接

其他問題我的腳步中有什么想念的嗎?

我在Jenkins啟動中添加參數的方式是否正確? (在Windows中,我只是修改了jenkins.xml,還使用了帶有“-”的參數,而這里似乎不需要“-”了嗎?)

由於我使用的是啟動守護程序而不是啟動代理,因此是否必須重新啟動系統? -還是默認的卸載和加載就足以應用更改?

現在已成功解決問題。 我更正了1步,然后添加了另一步。

  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"
  1. (重啟)執行完

    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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM