大厅 – 是否有可能在不推动它的情况下构建泊坞窗图像?

我想在我的管道中构建一个docker镜像,然后在其中运行一个作业,而不是推动或拉动图像.

这可能吗?

最佳答案
根据设计,您无法在管道中的作业之间传递工件,而无需使用某种外部资源来存储它.但是,您可以在单个作业中传递任务.此外,您还可以在每个任务级别而不是按作业级别指定图像.因此,执行所需操作的最简单方法可能是创建具有生成docker-image的第一个任务的单个作业,以及将其作为容器图像使用的第二个任务.

在您的情况下,您将在构建任务中构建docker镜像并使用docker export将图像的文件系统导出到rootfs,您可以将其放入输出(my-task-image).请记住它需要匹配的rootfs输出的特定模式.您将需要rootfs / …(提取的’docker export’)和metadata.json,它们只能包含一个空的json对象.您可以查看docker-image-resource中的in脚本,了解有关如何使其与架构匹配的更多信息:https://github.com/concourse/docker-image-resource/blob/master/assets/in.然后在后续任务中,您可以在管道yml中添加image参数:

- task: use-task-image
  image: my-task-image
  file: my-project/ci/tasks/my-task.yml

为了在任务中使用构建的图像.

转载注明原文:大厅 – 是否有可能在不推动它的情况下构建泊坞窗图像? - 代码日志