jenkins - 运行 Jenkins 测试时无法监听端口 33848

标签 jenkins gradle groovy

我正在使用 jenkins-test-harness 对我的 jenkins 库代码运行一些测试,但是当它执行测试时,每个测试都会出现以下错误:

hudson.UDPBroadcastThread#run: Cannot listen to UDP port 33,848, skipping: java.net.SocketException: Can't assign requested address

测试将通过(如果它应该通过),但是 jenkins 服务器需要大约 75 秒才能关闭。我相信这两者是相关的,但我无法弄清楚为什么我会收到这个错误。我没有在这个端口上运行其他任何东西。

当我在 gradle docker 容器中运行测试时,而不是在本地命令行或 IDE (IntelliJ) 中。这非常令人沮丧。虽然它不会改变测试结果,但它需要从大约 10 分钟到超过 1 小时 15 分钟的运行时间。

我是否错过了导致此失败的设置?

最佳答案

对我来说,这是由 Jenkins 假设它提供的默认 IP 地址是 IPv4 而实际上我的机器是双栈的,更喜欢 IPv6。我通过确保 integrationTest我的部分build.gradle文件有 systemProperties 'java.net.preferIPv4Stack' : true .有点像这样:

integrationTest: {
    /* other statements */
    systemProperties 'java.net.preferIPv4Stack' : true
}

我必须承认我发现我的 Jenkins 关闭时间没有显着差异。我很想知道这是否可以解决错误消息,以及是否可以解决您的整体问题。

关于jenkins - 运行 Jenkins 测试时无法监听端口 33848,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50249955/

相关文章:

android-studio - 同时构建两个变体

android - android项目未使用gradle识别jar文件

java - Spring 启动: Jenkins removes escaped double quote character from commands

git - 由于错误 "SSL certificate problem: unable to get local issuer certificate"(Bitbucket),Jenkins 管道脚本阻止 git pull

jenkins - 如何向 Jenkins 添加条件参数

spring-boot - 发现了@EnableCircuitBreaker注释,但没有实现。您是否忘了包括一个启动器?

javascript - 从 gsp 调用 Controller 函数

Groovy 实现细节

unit-testing - Grails单元测试失败

jenkins - 最好的 Docker 标记策略是什么?