java.io.IOException:没有X-Jenkins-CLI2-Port(jenkins cli不能正常工作)

Rak*_*usa 6 java exception http-status-code-403 jenkins jenkins-cli

我正在尝试运行以下命令:

java -jar jenkins-cli.jar -s http://jenkins_URL/ --username myusername --password mypassword help

但是我收到了错误:

java.io.IOException:没有X-Jenkins-CLI2-Port [null,X-Required-Permission,X-Jenkins,X-You-In-Group,X-Hudson,Content-Length,Expires,X-您在Hudson.cli.CLI.getCliTcpPort上经过身份验证的,X-Permission-Implied-By,Set-Cookie,Server,X-Content-Type-Options,Date,X-Jenkins-Session,Content-Type] (CLI.java:284)hudson.cli.CLI.(CLI.java:128)hudson.cli.CLIConnectionFactory.connect(CLIConnectionFactory.java:72)hudson.cli.CLI._main(CLI.java:473) )在hudson.cli.CLI.main(CLI.java:384)禁止:java.io.IOException异常:服务器返回的HTTP响应代码:403网址:http://52.9.217.252:8888/cli 在sun.net. www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1628)位于hudson.cli的hudson.cli.CLI.connectViaHttp(CLI.java:152)的hudson.cli.FullDuplexHttpStream.(FullDuplexHttpStream.java:78). CLI.(CLI.java:132)...还有3个

我的config.xml文件

<?xml version='1.0' encoding='UTF-8'?>
<hudson>
  <disabledAdministrativeMonitors/>
  <version>1.0</version>
  <numExecutors>2</numExecutors>
  <mode>NORMAL</mode>
  <useSecurity>true</useSecurity>
  <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
    <denyAnonymousReadAccess>false</denyAnonymousReadAccess>
  </authorizationStrategy>
  <securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
    <disableSignup>true</disableSignup>
    <enableCaptcha>false</enableCaptcha>
  </securityRealm>
  <disableRememberMe>false</disableRememberMe>
  <projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/>
  <workspaceDir>${ITEM_ROOTDIR}/workspace</workspaceDir>
  <buildsDir>${ITEM_ROOTDIR}/builds</buildsDir>
  <jdks/>
  <viewsTabBar class="hudson.views.DefaultViewsTabBar"/>
  <myViewsTabBar class="hudson.views.DefaultMyViewsTabBar"/>
  <clouds/>
  <scmCheckoutRetryCount>0</scmCheckoutRetryCount>
  <views>
    <hudson.model.AllView>
      <owner class="hudson" reference="../../.."/>
      <name>All</name>
      <filterExecutors>false</filterExecutors>
      <filterQueue>false</filterQueue>
      <properties class="hudson.model.View$PropertyList"/>
    </hudson.model.AllView>
  </views>
  <primaryView>All</primaryView>
  <slaveAgentPort>-1</slaveAgentPort>
  <label></label>
  <crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer">
    <excludeClientIPFromCrumb>false</excludeClientIPFromCrumb>
  </crumbIssuer>
  <nodeProperties/>
  <globalNodeProperties/>
</hudson>
Run Code Online (Sandbox Code Playgroud)

Leb*_*sky 5

CLIJenkins Wiki页面有一个官方解决方案.

解决方案

  • 转到管理Jenkins(在Jenkins UI中)
  • - > 配置全局安全性
  • - >"JNLP代理的TCP端口":选择固定或随机


Luc*_*ier 1

为了确保这不是用户名和/或密码错误,请更改此行:

<denyAnonymousReadAccess>true</denyAnonymousReadAccess>
Run Code Online (Sandbox Code Playgroud)

进入:

<denyAnonymousReadAccess>false</denyAnonymousReadAccess>
Run Code Online (Sandbox Code Playgroud)

在您的 config.xml 文件中。

现在您可以连接到 jenkins 界面来调试您的凭据

不要忘记将其重置为 true。