首页 > 解决方案 > 从正在运行的构建中读取 consoleText URL 仅返回前 10000 行

问题描述

我有一个从当前 consoleText 读取并做一些工作的 groovy 代码。当我从 IDE 运行代码时,它运行良好,但是当我在 Jenkins 中将它作为一个步骤的一部分运行时,它只读取总数中的 10000 行,大约为 280 万行。从控制台读取的代码是:

url.withReader { bufferedReader ->
            while ((line = bufferedReader.readLine()) != null) {
                          //do something
            }
}

网址是

${BUILD_URL}/consoleText

标签: jenkinsgradlegroovy

解决方案


.../consoleTextURL 不会自动“增长”——它只是提供在查询时可用的控制台数据的“快照” 。

因此,如果您在构建仍在运行时获取构建的 URL ,那么您将只能看到控制台日志的一部分。您看到的数量取决于您发出 GET 的时间 - 并且可能还取决于某些缓冲区的状态。

如果这在过去工作得更好,那么您可能在尝试读取控制台时移动了时间点。


推荐阅读