打包机构建器可以依赖另一个构建器吗?

Can a packer builder depend on another builder?

我正在构建一个与 Vagrant 一起使用的开发环境,目前它运行良好,但有时我需要进行一些微小的更改,这些更改实际上并不是基本系统设置的一部分。因此,为了加快构建时间和迭代速度,我想将我的构建分成两部分,运行 按顺序排列:

  1. 基础镜像(OS、常用工具、配置等)
  2. Vagrant 细节(开发者工具、用户配置等)

前者不会经常改变,但后者会。我正在使用 VirtualBox 生成器,但我似乎无法弄清楚如何使一个生成器依赖于另一个生成器 – 这可能吗?

不,Packer 中没有生成器依赖机制。

但是,由于您可以控制构建过程 运行 的构建器,因此您可以创建简单的包装器脚本,以允许您创建所需的流程。

因此构建器 A 将创建基础框并将最终产品放入 /path 中,构建器 B 将使用来自 /path 的虚拟框图像作为最终 Vagrant 框的基础。您的包装器脚本应该是构建器 A 和构建器 B 之间的粘合剂。