使人类更容易理解詹金斯平行块

时间:2018-10-04 21:23:31

标签: jenkins-pipeline

Jenkins并行块很棒,但是它们在交错输出时确实提高了人类理解的门槛。

def mysteps = [:]
mysteps['something'] = { sh "do-something.sh" }
if (wantOtherThing) {
   mysteps['otherthing'] = { sh "do-otherthing.sh" }
}
parallel mysteps

这将执行创建控制台输出的操作,如下所示:

[something] ...
[something] ...
[otherthing] ...
[something] ...
...

上述情况提供了一个简单的选项-将输出重定向到日志文件,然后将其重定向到日志。如果我使用了一系列jenkins插件和任务(例如ansible-playbook任务),那么对输出进行非交织将是一个更大的挑战。在那种情况下,唯一的选择似乎是创建特定的日志文件,并将其存储为构建输出。

还有另一种方法可以使控制台保持斯巴达式的,易于理解的同时仍保持维护状态:

  • 某种动态控制台,以便人们可以观看构建
  • 足够的调试信息,以便我们可以知道为什么作业失败了?

1 个答案:

答案 0 :(得分:1)

如果您在Blue Ocean中查看输出,它将为每个并行任务分隔输出