Jenkins 作业在执行 jar Web 应用程序时冻结

问题描述 投票:0回答:1

我尝试在 Jenkins 作业中执行 jar Web 应用程序并启动 Selenoid 测试 如果我在管道 Jenkins 中执行命令“java -jar app.jar” - 我会得到异常

2024-11-18 13:54:16,203 [main] [INFO] () [r.s.c.w.a.RemoteApplication]:在 4.282 秒内启动 RemoteApplication(JVM 运行了 4.498) 2024-11-18 13:54:16,248 [main] [WARN] () [r.s.c.w.r.SimpleUrlBrowser]:请在浏览器中打开以下地址: 2024-11-18 13:54:16,249 [主要] [警告] () [r.s.c.w.r.SimpleUrlBrowser]: http://localhost:20080 java.lang.Exception:找不到网络浏览器

并且 Jenkins 工作无限冻结,直到我手动中止构建。

这就是我看到的解决方案:

  1. 来自远程服务器的curl jar
  2. 通过“java -jar app.jar”执行jar
  3. 开始 Selenoid UI 测试。
  4. 停止工作

有什么方法可以绕过这个异常运行jar吗?

java jenkins-pipeline selenoid
1个回答
0
投票

运行作业的 Jenkins 节点没有安装浏览器,或者如果安装了,Selenoid 找不到任何浏览器。

这是我们在 Jenkins 上运行 Selenide 测试所做的事情:

docker.image('selenium/standalone-chrome').withRun('-v /dev/shm:/dev/shm -p 4444:4444') { c ->
    def selenideRemote = "http://0.0.0.0:4444/wd/hub"
    sh "mvn test -Dselenide.headless=true -Dselenide.remote=${selenideRemote} -DscreenshotsEnabled=true"
}

安装了适当的浏览器等的 Docker 映像与无头选项的组合应该可以使其工作。

© www.soinside.com 2019 - 2024. All rights reserved.