我正在尝试使用超市的一本 Chef 食谱来设置 Jenkins 服务器。不幸的是,它因以下错误而失败。插件配方需要启用全局安全性配置 - "启用带远程处理的 CLI"。任何人都可以帮助我从厨师食谱中启用它,以便Java -jar Jenkins-cli.jar -s http://localhost:8080 -remoting安装插件。
谢谢
这是错误日志
java.io.IOException: No X-Jenkins-CLI2-Port among [X-Jenkins, null, Server, X-Content-Type-Options, X-You-Are-In-Group-Disabled, X-Hudson, X-Permission-Implied-By, Date, X-Jenkins-Session, X-You-Are-Authenticated-As, X-Required-Permission, Set-Cookie, Expires, Content-Length, Content-Type]
at hudson.cli.CLI.getCliTcpPort(CLI.java:311)
at hudson.cli.CLI.<init>(CLI.java:137)
at hudson.cli.CLIConnectionFactory.connect(CLIConnectionFactory.java:82)
at hudson.cli.CLI._main(CLI.java:615)
at hudson.cli.CLI.main(CLI.java:426)
Suppressed: java.io.IOException: Server returned HTTP response code: 403 for URL: http://localhost:8080/cli?remoting=true
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
at hudson.cli.FullDuplexHttpStream.<init>(FullDuplexHttpStream.java:101)
at hudson.cli.CLI.connectViaHttp(CLI.java:163)
at hudson.cli.CLI.<init>(CLI.java:141)
根据官方文档,默认情况下remoting
选项处于禁用状态。 您可以通过转到 Configure Global Security
.我不认为通过编程方式我们不能启用它。有关更多详细信息,请使用此官方链接。远程处理连接模式 |詹金斯官方
这是他们为您的问题提供的解决方案。希望这有帮助。
转到管理 Jenkins>配置全局安全性,然后在 JNLP 代理的 TCP 端口下选择"固定"或"随机"。
您可以通过编写一些在 Jenkins 启动时运行的 Groovy 来启用远程处理选项,但更好的选择是配置正确的身份验证并使用 ssh 或 http 方法。
https://github.com/chef-cookbooks/jenkins#authentication
另请参阅:https://stackoverflow.com/a/51106793/3794873