`serial:true` 用于 concourse 的目的
The purpose of `serial:true` for concourse
我有一个关于 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.
在 "Concepts" 部分,大厅似乎将 "build" 定义为
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
状态等待,依此类推。
如果在 serial_group
中定义 job1
、job2
和 job3
,并且我同时将它们全部启动,那么其中一个工作,假设 job2
,将 运行,其余的将在 pending
状态等待。然后另一个工作,假设 job1
将 运行,job3
将在 pending
状态等待,直到 job2
完成,然后 job3
将 运行.
我有一个关于 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.
在 "Concepts" 部分,大厅似乎将 "build" 定义为
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
状态等待,依此类推。
如果在 serial_group
中定义 job1
、job2
和 job3
,并且我同时将它们全部启动,那么其中一个工作,假设 job2
,将 运行,其余的将在 pending
状态等待。然后另一个工作,假设 job1
将 运行,job3
将在 pending
状态等待,直到 job2
完成,然后 job3
将 运行.