build 命令

原文


packer build 命令读取一个模板并运行其中定义的所有构建以生成一组制品。除非另有说明,否则模板中指定的各种构建是并行执行的。创建的制品将在构建结束时输出。

选项

  • -color=false - 禁用彩色输出。默认启用。
  • -debug - 禁用并行运行并启用调试模式。调试模式通知构建器输出调试信息。调试模式的确切行为由构建者定义。一般来说,构建者通常会在每个步骤之间停下来,等待键盘输入后再继续。这将允许用户进行状态检查等。
  • -except=foo,bar,baz - 在运行时排除具有给定逗号分隔名称的构建和后处理器。在遗留的 JSON 格式模板中,构建的默认名称为其构建器的类型(例如 dockeramazon-ebsvirtualbox-iso),除非是在配置中指定了特定的名称属性。在 HCL2 模板中,“名称”是 source 代码块的 name 标签,除非构建中 source 的定义添加了 name 配置选项。被跳过的后处理器之后定义的其他后处理器都不会运行。因为后处理器可以嵌套在数组中,所以不同的后处理器链仍然可以运行。名称为空的后处理器将被忽略。
  • -force - 当来自上游构建的制品阻止了构建运行时强制构建器运行。强制构建的确切行为由构建器来定义。通常,支持强制构建的构建器会从之前的构建中删除制品。这将允许用户重复构建,而无需事先手动清理这些制品。
  • -on-error - 选择在配置期间构建失败时要执行的操作,可设置为:cleanupabortask 或是 run-cleanup-provisioner。默认值为 cleanup。请注意,这只会在配置器运行期间对构建产生影响,而在后处理器运行期间则不会生效,因为错误处理机制与是否保留运行中的实例以及相关制品有关,例如配置程序失败时在运行 Packer 的机器上生成的 SSH 密钥。
    • cleanup 清理之前工序留下的资源,删除临时文件和虚拟机。
    • abort 退出而不进行任何清理,这可能需要下一个构建使用 -force
    • ask 给出提示并等待用户决定要清理、中止还是重试失败的步骤。
    • run-cleanup-provisioner 中止并退出,除了 error-cleanup-provisioner(如果有定义)之外不执行其他清理。
  • -only=foo,bar,baz - 仅运行指定的构建,名字用逗号分隔。在遗留 JSON 模板中,构建名称默认为其构建器的类型(例如 dockeramazon-ebsvirtualbox-iso),除非在配置中指定了特定的名称属性。在 HCL2 模板中,指定的名称是 sourcename 标签,除非内置的 source 定义添加了 name 配置选项。
  • -parallel-builds=N - 限制并行运行的构建数量,0 表示没有限制(默认为 0)。
  • -timestamp-ui - 在每个 ui 输出前添加一个 RFC3339 时间戳作为前缀。
  • -var - 设置一个 Packer 模板定义的变量的值。该选项可以多次使用。该功能在设置构建的版本号时很有用。
  • -var-file - 指定一个变量文件。
  • -warn-on-undeclared-var - 设置此标志后如果变量定义文件 (.pkrvars.hcl | .pkrvars.json) 中存在无匹配 variable 块的变量时返回一条警告。如果用 HCL2 模板定义构建,光是在变量文件中设置一个变量值不足以让其生效,因为还需要在模板文件 pkr.hcl 中为变量定义一个对应的 variable 块。默认情况下,当变量文件包含一个或多个未声明的变量时,packer build 不会发出警告。

results matching ""

    No results matching ""