7

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

这是我的 Jenkinsfile 的摘录,例如:

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

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

请注意,正如这里所建议的,我node在 each中运行了一个新的parallel,因此它们得到了适当的并行化,并且它们中的每一个都有自己的工作区。

我应该怎么做才能让 Jenkins 向我展示parallel块的单独输出?

4

2 回答 2

8

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

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

于 2016-05-08T02:16:48.320 回答
0

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

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

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

于 2019-09-26T22:02:38.900 回答