jenkins - 詹金斯管道 - java.io.EOFException
问题描述
我有非常简单的 Jenkins 管道代码:
stage('Install') {
steps {
script {
dir("${PROJECT}") {
try {
script {
sh('npm install')
}
} catch (Exception e) {
throw e
}
}
}
}
}
每次我运行它时,我都会在 Jenkins 控制台输出中看到以下错误:
12:48:07 + npm install
12:49:00 java.io.EOFException
12:49:00 at okio.RealBufferedSource.require(RealBufferedSource.java:61)
12:49:00 at okio.RealBufferedSource.readByte(RealBufferedSource.java:74)
12:49:00 at okhttp3.internal.ws.WebSocketReader.readHeader(WebSocketReader.java:117)
12:49:00 at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.java:101)
12:49:00 at okhttp3.internal.ws.RealWebSocket.loopReader(RealWebSocket.java:274)
12:49:00 at okhttp3.internal.ws.RealWebSocket$2.onResponse(RealWebSocket.java:214)
12:49:00 at okhttp3.RealCall$AsyncCall.execute(RealCall.java:203)
12:49:00 at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
12:49:00 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
12:49:00 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
12:49:00 at java.lang.Thread.run(Thread.java:748)
我在跑步
Jenkins 2.235.5
你有什么想法我的代码有什么问题吗?npm install 和这个异常之间大约有 60 秒,可能是超时吗?
解决方案
我也遇到过这个问题。就我而言,大多数时候我观察到它的发生是由于
- 缺乏用于构建的内存/cpu 内核。我花了一些时间对其进行测试,并通过增加 Java 堆大小在我们的网站上解决了这个问题
- 缺乏核心。增加核心数量肯定有帮助!
- 并进行一些调整,例如检查打开的文件描述符等
推荐阅读
- java - LZ4 库兼容性问题:java 和 IOS
- angular - 如何查找用户更改了 FormArray 中的哪个 FormGroup?
- python - ffmpeg Python 命令在 PM2 环境中只运行一次
- r - 根据任何选定列中的值对 data.table 进行子集化的有效方法
- tableview - 如何在 xcode 中加载新的表格视图
- macos - Apple Notary 和 Go 二进制文件
- r - R中的列对之间的操作
- node.js - 无法 POST / 使用 express 和 body-parser
- excel - 如何通过power query提取多个网站中的多个表
- c# - DotNetZip如何在解压后删除文件