当前位置: 首页 > 面试题库 >

在Jenkins上通过Java Web Start启动从属代理时出现问题

仲孙夕
2023-03-14
问题内容

我们最近将詹金斯(Jenkins)升级到了最新版本。

从那时起,我每次尝试启动它时都无法通过命令行通过Java WebStart启动从属服务器,但出现“无法启动应用程序”错误

在详细信息面板中

CouldNotLoadArgumentException[ Could not load file/URL specified: http://MyServer:8080/computer/Slave1/slave-agent.jnlp]
    at com.sun.javaws.Main.launchApp(Unknown Source)
    at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
    at com.sun.javaws.Main.access$000(Unknown Source)
    at com.sun.javaws.Main$1.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

当尝试浏览到Jenkins站点并从那里午餐时,它会起作用,但是,如果您随后重新启动该框,则启动时的命令行将无法完成该工作。

这是我试图从奴隶运行的命令

cd "C:\Program Files (x86)\Java\jre7\bin"
javaws http://MyServer:8080/computer/Slave1/slave-agent.jnlp

问题是这曾经可以工作。我也曾尝试将Java更新到最新版本,但没有运气,

有任何想法吗?


问题答案:

据推测,这种新行为在很大程度上归因于Jenkins论坛上的帖子,是由于解决了一个安全问题:https :
//wiki.jenkins-ci.org/display/SECURITY/Jenkins+Security+Advisory+2013-
01-04

似乎有两种解决方案:

  1. 下载JNLP文件(通过浏览器,wget,curl等),然后在本地运行-可能需要其他参数。
  2. 转到管理Jenkins->配置全局安全性,然后在基于项目的矩阵授权策略下,为用户“匿名”在“从属”部分中启用“连接”。这会让您容易受到有人模仿奴隶的攻击(但在我的情况下,是在私有工作网络上,这不是问题)。


 类似资料:
  • 我读过一些文章,其中他们建议使用手动密钥,我在上面也这样做了,但身份验证仍然失败。我错过了什么?

  • 我有两个不同版本的Jenkins实例。其中一个版本是1.609.1,当我在它上创建一个从机时,我会在launch方法中看到如下选项: “通过SSH在Unix计算机上启动从代理” “通过Java web启动从代理” “通过在主服务器上执行命令启动从服务器,并让Jenkins作为Windows服务控制此Windows从服务器”

  • 我将主URL设置为:http://[master_ip]:8080我将windows从机配置如下:slave_config 现在,我试图通过运行以下命令,使用agent.jar启动从机: 我遵循了一百万个教程,一遍又一遍地重复同样的步骤...有什么想法吗?

  • 我正在尝试编写一个小作业DSL,但是在访问类属性时,我正在努力获得错误。 因此,甚至不需要复杂的脚本。请参见以下脚本 ​ 当在Groovy web控制台上运行时,它工作得很好,但是当在我的Jenkins上运行时,我得到: 如何在Jenkins上运行的Groovy脚本中访问类属性,而不出现< code>StackOverflowError异常? 我的系统: 詹金斯版本是 2.73.3 工作DSL插件

  • 我在这里下载了面向Java EE Developers的Eclipse IDE:https://www.eclipse.org/downloads/packages/release/oxygen/2/eclipse-ide-java-ee-developers 我在这里下载了OpenJDK版本11:http://jdk.java.net/11/ < br >我将环境变量java_HOME设置为JA