为Jenkins设置Windows代理以使用Squish

fxnxkyjh  于 11个月前  发布在  Jenkins
关注(0)|答案(1)|浏览(129)

与其说是个问题,不如说是个答案,但我想可能会有其他人遇到同样的问题。

因此,我想记录并分享我在这里找到的解决方案:

我们一直在使用Squish在Jenkins编排的Windows代理上测试我们基于Qt的应用程序。**问题如下:**由于Java Web start作为连接方法被删除,建议的解决方案是通过SSH将代理连接到Jenkins。但是,通过SSH连接到Windows代理,将不会有桌面/UI会话。可以执行Squish,但结果不具有代表性,并且经常会发生意外错误,因为AUT没有真实的UI。简单地使用jnlp作为参数运行agent.jar也不起作用,因为我们的网络中有额外的重定向和身份验证。

bybem2ql

bybem2ql1#

解决方案:

1.确保Instance Identity插件安装在Jenkins示例中。
1.将代理配置为使用“通过将其连接到控制器来启动代理”作为启动方法。
1.保存并返回到座席的“状态”页。它将被断开,并有关于如何连接它的说明。
1.手动下载此代理的agent.jar和jnlp文件。
1.将agent.jar复制到代理的文件系统。
1.在代理计算机上,从cmd调用以下命令:

java -cp agent.jar hudson.remoting.jnlp.Main PASTE_SECRET_FROM_JNLP PASTE_NODE_NAME_FROM_JNLP PASTE_ALL_OTHER_ARGUMENT_AND_VALUES_FROM_JNLP -direct JENKINS_HOST:TCP_PORT -instanceIdentity INSTANCE_IDENTITY

大写的大多数值都可以在jnlp文件(纯xml)中找到,除了Jenkins的主机名和代理连接的tcp端口。此外,可以通过向顶级Jenkins地址发布GET请求来发现示例身份,例如https://host.name/jenkins/
最好创建一个包含该命令的批处理文件并将其复制到shell:startup中,以确保在启动时连接到Jenkins。

相关问题