使用HTTPS的Jenkins CLI

tom*_*m95 7 ssl https jenkins jenkins-cli

我的Jenkins服务器现在使用HTTPS切换到了.但是,现在在尝试运行jenkins-cli.jar时,我收到以下错误:

Exception in thread "main" java.io.IOException: Failed to connect to https://ncs-jenkins.cisco.com/
    at hudson.cli.CLI.getCliTcpPort(CLI.java:266)
    at hudson.cli.CLI.<init>(CLI.java:126)
    at hudson.cli.CLIConnectionFactory.connect(CLIConnectionFactory.java:72)
    at hudson.cli.CLI._main(CLI.java:466)
    at hudson.cli.CLI.main(CLI.java:382)
Caused by: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:902)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1208)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1235)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1219)
    at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:440)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)
    at hudson.cli.CLI.getCliTcpPort(CLI.java:264)
    ... 4 more
Caused by: java.io.EOFException: SSL peer shut down incorrectly
    at sun.security.ssl.InputRecord.read(InputRecord.java:482)
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:883)
    ... 11 more
Run Code Online (Sandbox Code Playgroud)

有没有办法通过HTTPS使用Jenkins CLI?

发生这种情况,例如当我尝试运行甚至只是帮助命令时:

java -jar jenkins-cli.jar -noCertificateCheck -s https://ncs-jenkins.cisco.com:8443/ -i /home/auto/.ssh/id_rsa help
Run Code Online (Sandbox Code Playgroud)

ode*_*fos 0

我在我的一位詹金斯奴隶身上遇到了同样的问题。由于从属设备应该是相同的,因此我开始调查机器之间最细微的差异。事实证明,java 版本略有不同:

java-1.7.0-openjdk-1.7.0.75.x86_64 - 在工作机器上

java-1.7.0-openjdk-1.7.0.85.x86_64 - 在失败的那个上。

我恢复到早期的 openjdk 版本,问题得到解决。由于您几天前才提出这个问题,我怀疑我们也遇到了同样的问题。

要检查您的版本:

java -showversion -verbose 2>&1 | head -1
Run Code Online (Sandbox Code Playgroud)

要安装以前的 openjdk 版本(在 centos 上):

yum install java-1.7.0-openjdk-devel-1:1.7.0.75-2.5.4.0.el6_6.x86_64
Run Code Online (Sandbox Code Playgroud)