发生错误时,管道作业插件(workflow-job-plugin)会提供空的控制台输出

时间:2019-05-31 14:13:48

标签: jenkins jenkins-pipeline jenkins-plugins

这个问题在詹金斯(Jenkins)吉拉(Jira)上被问到了,但它在那里被遗弃了,所以我在这里尝试Stack Overflow的运气。

https://issues.jenkins-ci.org/browse/JENKINS-55024


升级到“ Pipeline:Job”插件的2.29版时,如果出现错误,用户将获得完全空的控制台输出。

降级到2.28版可解决此问题。

在调查时,我们发现了一个错误日志,指出找不到日志文件:

java.io.FileNotFoundException:/ var / lib / jenkins / jobs / iText-merge-pipeline / builds / 319 / log(无此类文件或目录)

有关控制台输出和日志的屏幕截图,请参见附件。

如果我阅读了2.29版的更改日志

JENKINS-54128:更改WorkflowRun#getLogFile的实现,以避免每次调用该方法时都创建一个新的临时文件。 修复:打开管道的日志文件时发生错误时,请勿调用WorkflowRun#getLogFile,以避免记录其他堆栈跟踪 我的猜测是,在管道脚本中引发错误时,也不会调用WorkflowRun#getLogFile。

这个问题已经浮出水面,因为“下一代警告”插件依赖于“ Pipeline Job”插件> 2.28。

有几个问题可供参考。我会尝试在其中添加一些结构,然后一个一个地回答它们。

  1. 用于构建的构建文件夹是什么样的?
  2. 日志文件是否存在?
  3. Jenkins日志中是否还有其他看似相关的错误?
  4. 您是否知道在Jenkins重新启动插件更新时是否已中断被破坏的内部版本?
  5. 对于升级之前的构建,完整的构建日志应该可以正常工作(某些标记将无法正确显示),但是步骤日志预计会被破坏。那是你看到的吗?
  6. 我不太确定“完整构建步骤日志”是什么意思。
  7. 我们有可再现的错误吗?
  8. 您仍然看到此问题吗?
  9. 您可以附加失败的Pipeline脚本,以便我们可以看到它在做什么吗?

问题1 我不确定您要什么样的答案:

构建文件夹的屏幕截图? 构建文件夹的目录列表? 构建文件夹的压缩包? 我没有对运行Jenkins的服务器的ssh访问权限,并且我不知道您想要什么,因此我将采用蛮力方法。困难也可以。我要做一份运行ls -ld $(找到/ var / lib / jenkins)的工作。请让我知道您到底需要什么,因为我想目录清单中可能还包含机密信息。

问题2 如何确定日志文件是否存在?

问题3 哪个詹金斯记录的确切?如果我知道去哪里找,我很乐意为您提供信息。

问题4 这是一个模棱两可的问题,字面上的答案将是“我知道”,但这将无济于事。相反,我将回答重现步骤:

Pipeline作业插件的版本为1.28。 开始失败的作业,即作业1,然后完成它。 查看作业1的控制台输出->有作业1的控制台输出。 将管道作业插件升级到> 1.28。 重新启动詹金斯。 查看作业1的控制台输出->有作业1的控制台输出。 开始失败的作业,作业2,然后完成它。 查看作业2的控制台输出->作业2的控制台输出为空。 将管道作业插件降级到1.28。 重新启动詹金斯。 查看作业1的控制台输出->有作业1的控制台输出。 查看作业2的控制台输出->作业2的控制台输出为空。 开始失败的作业,作业3,然后完成它。 查看作业3的控制台输出->有作业3的控制台输出。 问题5 对于更新之前的版本,确实存在控制台日志,如我对问题4的回答所述。

我不知道标记的重要性或重要性,如果这样,我该如何验证?

预计步骤日志将被破坏。

->我不明白这是什么意思,请您解释一下?

问题6 这是Marco Andries或Jens Beyer的问题吗?

问题7 这是Marco Andries还是Jens Beyer / Devin Nusbaum的问题?

问题8 是的,我们仍然会遇到此问题。

问题10 test-pipeline-Jenkinsfile

0 个答案:

没有答案