串行使用“ serial:true”的目的

shi*_*ing 4 concourse

我对工作有什么疑问serial: true。似乎有点多余,因为serial_groups似乎已经控制了多个作业的串行执行。但与此同时,内部plan还有do一系列计划的运行步骤。

该文档说:

serial: boolean 可选的。默认为false。如果设置为true,则构建将排队并一对一执行,而不是并行执行。

在“概念”部分中,concourse似乎将“构建”定义为

执行工作计划的一个实例称为构建

在这种情况下,如果您未在内指定构建步骤do,它们会同时运行吗?

Jos*_*abi 5

serial: true意味着一个特定的作业一次只能运行一个内部版本,但是将多个作业放在一起就serial_group意味着该组中的所有作业将相对于彼此依次运行。

例如,如果我将job定义job1serial: true,并快速执行的四个构建job1,则第一个构建将运行,并且构建2、3和4将处于等待pending状态。构建1完成后,构建2将启动,构建3将启动,构建4将处于等待pending状态,依此类推。

如果我同时定义了job1job2job3中的serial_group所有内容,那么其中一个作业(可以说job2)将运行,其余作业将处于等待pending状态。然后,可以说另一个作业job1将运行,并且将job3等待pending状态直到job2完成,然后再job3运行。