我有一个关于什么的问题 serial: true
就工作而言。自 serial_groups
以来似乎有点多余似乎已经控制了多个作业的串行执行。但同时里面的plan
有类似 do
的结构运行一系列计划的步骤。
文档是这样说的:
serial: boolean
Optional. Default false. If set to true, builds will queue up and execute one-by-one, rather than executing in parallel.
在“概念”部分,大厅似乎将“构建”定义为
An instance of execution of a job's plan is called a build
在这种情况下,如果您没有在
do
中指定构建步骤,它们会同时运行吗?
最佳答案
serial: true
意味着一个特定的工作一次只会运行一个构建,但是将多个工作放在一个 serial_group
中。意味着该组中的所有作业将相对于彼此串行运行。
例如,如果我定义作业 job1
如 serial: true
,并快速执行 job1
的四个构建,然后第一个构建将运行,构建 2、3 和 4 将在 pending
中等待状态。构建 1 完成后,构建 2 将启动,构建 3 和 4 将在 pending
中等待。状态等等。
如果定义 job1
, job2
, 和 job3
在 serial_group
,然后我同时将它们全部关闭,然后是其中一项工作,比如说 job2
, 将运行,其余的将在 pending
中等待状态。然后是另一份工作,比如说 job1
将运行,并且 job3
将等待 pending
状态直到 job2
完成,然后 job3
会跑。
关于concourse - `serial:true` 用于大厅的目的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46371006/