"服务器返回HTTP响应代码:403"安装Jenkins插件时出错

时间:2017-03-14 10:28:05

标签: jenkins cmd ant jenkins-plugins

当我尝试为Jenkins安装插件时,我看到以下错误。

Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\Users\tech>cd C:\Program Files (x86)\Jenkins

C:\Program Files (x86)\Jenkins>java -jar jenkins-cli.jar -s http://localhost:8081/ install-plugin ant.hpi -deploy -restart

Exception in thread "main" java.io.IOException: No X-Jenkins-CLI2-Port among [null, X-Required-Permission, X-Jenkins,
X-You-Are-In-Group, X-Hudson, Content-Length, Expires, X-You-Are-Authenticated-As, X-Permission-Implied-By, Set-Cookie,
Server, X-Content-Type-Options, Date, X-Jenkins-Session, Content-Type]
        at hudson.cli.CLI.getCliTcpPort(CLI.java:290)
        at hudson.cli.CLI.<init>(CLI.java:133)
        at hudson.cli.CLIConnectionFactory.connect(CLIConnectionFactory.java:72)
        at hudson.cli.CLI._main(CLI.java:474)
        at hudson.cli.CLI.main(CLI.java:389)
        Suppressed: java.io.IOException: Server returned HTTP response code: 403 for URL: http://localhost:8081/cli
                at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
                at hudson.cli.FullDuplexHttpStream.<init>(FullDuplexHttpStream.java:78)
                at hudson.cli.CLI.connectViaHttp(CLI.java:163)
                at hudson.cli.CLI.<init>(CLI.java:137)
                ... 3 more
  1. 我已将Jenkins安装为Windows Installer
  2. Windows服务已启动
  3. 然后我将jenkins-cli.jar复制到了jenkins文件夹
  4. ant.hpi文件位于jenkins文件夹本身(我也复制到不同的驱动器并在安装过程中给出了绝对路径)
  5. 输入命令以安装导致错误的插件,如上所示

2 个答案:

答案 0 :(得分:4)

来自CLI documentation的问题排查部分:

  

转到管理Jenkins&gt;配置全局安全性,并在TCP端口下为JNLP代理选择“固定”或“随机”。

默认情况下禁用CLI;您需要在Jenkins中启用此TCP端口,以便CLI客户端可以连接。

此外,假设您的Jenkins主机可以访问互联网,您只需在命令行中指定ant插件ID即可直接从Jenkins更新中心安装Ant插件(及其依赖项!),而不是必须下载并指定每个所需的.hpi文件。

答案 1 :(得分:0)

经过一些试验和错误后,通过jenkins-cli

的别名声明使其工作

alias jenkins-cli =&#39; java -jar /var/lib/jenkins/jenkins-cli.jar -auth admin:admin&#39;

在此别名之后,您可以使用以下命令:

jenkins-cli帮助 jenkins-cli who-am-i

和许多其他命令(按帮助列出)

就我的情况而言,我已经为“管理员”添加了SSH密钥。 Jenkins的用户和我已将密码更改为&#39; admin&#39;