如何从单个Jenkins Pipeline并行块获取stdout和stderr?

时间:2016-05-05 10:30:59

标签: jenkins jenkins-workflow jenkins-pipeline

我在我的Jenkinsfile中使用parallel块来同时执行某些测试,但所有输出都混淆了。

这是我Jenkins文件的摘录,例如:

// do some IT against different databases
stage name: 'IT'

parallel (
    mysqlIT: {
        node {
            executeMysqlIT()
        }
    },
    oracleIT: {
        node {
            executeOracleIT()
        }
    }
)

请注意,按照建议here我在每个node内运行新的parallel,因此它们可以正确并行化,并且每个都有自己的工作区。< / p>

如果Jenkins向我显示parallel块的分隔输出,我该怎么办?

2 个答案:

答案 0 :(得分:4)

在您的工作的构建页面上有一个链接&#34;管道步骤&#34;在左边。在树状结构中,您可以找到作业运行的所有步骤,包括并行步骤。您可以使用左侧的链接进入每个步骤并访问其控制台日志。或者你可以使用&#34;终端&#34;同一行右侧的图标。

单击它,您将看到仅在该步骤中生成的控制台日志,而不会与同时运行的其他步骤混合。如果一个或多个并行步骤仍在进行中,则它们的日志将在每个控制台日志页面上动态更新。

答案 1 :(得分:0)

https://stackoverflow.com/a/58050883/8380249提供了一种从并行块获取日志的方法

  • 或者作为管道代码中的字符串
  • 或保存为运行的工件

那里使用的库还提供了内部ID的访问器,我认为这些ID可用于生成指向“管道步骤”文件的链接