2

我一直听说每个任务都在它自己的容器中运行,在这种情况下,如果有一个 Job1 产生一些资源作为输出,Job2 想要将其读取为输入(流水线作业的典型案例),所以在这种情况下,我想知道如何如果每个任务在其自己的容器中运行,来自容器的资源是否可用于另一个容器?

此外,如果单个作业有多个任务,那么每个任务是否在自己的新容器中运行?

4

1 回答 1

8

每个任务确实在自己的容器中运行。这里的诀窍是,Concourse 使用了一个内部包,该包称为baggageclaim工件持久性,超出了单个任务容器的生命周期。

如果您指定任务具有output,则为该输出命名(或映射到)的目录将被挂载为持久卷,而不是临时容器内部文件夹。当您写入该目录时,它将位于行李提取的内部工作区中,可用于安装到其他容器(当您指定同一构建中的后续任务应将其output用作input.

get步骤以同样的方式产生这些体积;这就是为什么当您get对特定资源执行 a 时,如果您将资源的下载位命名为input.

于 2016-12-28T17:28:49.313 回答