2016-07-06 73 views
2

考虑一个詹金斯管道有两个阶段,阶段A然后阶段B詹金斯管道 - 阅读前一阶段日志

在阶段B,是否有可能解析某些特定文本的阶段A的日志?

+0

我要看你需要什么样的日志。例如。如果你想分析gradle输出,你可以将标准输出重定向到文件,然后再读取文件并解析它。 – krynio

回答

1

7月28日以来有更新!

正如mentionned在this answer,为的Pipeline: Nodes and Processes 2.4的版本,你可以使用:

def out = sh script: 'command', returnStdout: true 

至少它比输出到文件,并随后读取文件更加简单,干净。

+0

嗨,也许你可以帮我解析以前的“步骤”,因为我使用** copyArtifact **插件需要一个“步骤”(所以在我的情况下它不是一个命令,所以我不能使用“sh脚本“),我为它创建了一个问题:https://stackoverflow.com/questions/46601108/jenkins-copy-artifact-parse-copied-build-id – firepol

0

我最终所做的是,如建议,使用tee写入文件(和标准输出)。

sh "command | tee <filename>" 

然后分析该文件可以根据需要,使用readFile <filename>读取从工作区中的文件。

+1

要小心。如果你依赖返回码 - 这行会始终返回0。 –