【问题标题】:How to get console log of current stage?如何获取当前阶段的控制台日志?
【发布时间】:2020-07-09 13:00:35
【问题描述】:

在 Jenkins 管道中,我们可以通过以下方式获取当前构建的控制台日志 -

String logData = currentBuild.rawBuild.getLog(X)

有没有办法只获取当前阶段的日志?

【问题讨论】:

  • 我也很想知道这一点。但是詹金斯的文档,也许只适合我,但它太糟糕了,而且他们的例子总是那么糟糕

标签: jenkins jenkins-pipeline jenkins-plugins jenkins-groovy


【解决方案1】:

[已更新]您可以参考 this post 以获得基于更新的 Jenkins API 的良好解决方案。

[原始答案:仅适用于非并行阶段] 我知道的唯一方法是在阶段的开始和结束时打印(回显)一个标记。然后你可以有一个解析函数来获取整个控制台日志并在开始和结束标记之间切出阶段日志。

为方便起见,我建议创建一个自定义的stage DSL 命令(例如myStage),它会自动为您放置这些标记。

【讨论】:

  • 嗯...这也是一个好方法,但我一直在寻找一些内置功能来实现这一点。如果我不明白,我会尝试这种方法。谢谢!
  • 如果您没有并行构建,这可以正常工作,如果您有并行构建,这将不起作用。不幸的是,我无法找到一种方法来完成这项工作,因为只有当前阶段的日志
猜你喜欢
  • 2013-09-16
  • 1970-01-01
  • 2013-08-18
  • 1970-01-01
  • 2019-08-15
  • 1970-01-01
  • 2012-04-27
  • 2016-05-08
相关资源
最近更新 更多