validate 命令

原文


packer validate 命令被用于验证模板的语法和配置。该命令将在成功时返回零值退出,在失败时返回非零值退出。此外,如果模板未通过验证,则会输出所有的错误消息。

用法示例:

$ packer validate my-template.pkr.hcl
Template validation failed. Errors are shown below.

Errors validating build 'vmware'. 1 error(s) occurred:

* Either a path or inline script must be specified.

选项

  • -syntax-only - 只检查模板的语法,不验证配置。
  • -evaluate-datasources - 在验证模板时读取所有数据源。这只针对 HCL2 模板有效,因为 JSON 模板没有数据源,因此将忽略此选项。 警告:数据源可能依赖于外部服务来获取数据,如果所调用的服务涉及计费,可能会在验证时产生一些成本。
  • -except=foo,bar,baz - 在验证时排除具有给定逗号分隔名称的构建。在遗留的 JSON 格式模板中,构建的默认名称为其构建器的类型(例如 dockeramazon-ebsvirtualbox-iso),除非是在配置中指定了特定的名称属性。在 HCL2 模板中,“名称”是 source 代码块的 name 标签,除非构建中 source 的定义添加了 name 配置选项。
  • -no-warn-on-undeclared-var - 当变量定义文件包含未声明变量的变量赋值时,不发出警告。当传递给 HCL2 模板的变量文件含有大量未在模板中声明的变量时该选项将很有用。如果用 HCL2 模板定义构建,光是在变量文件中设置一个变量值不足以让其生效,因为还需要在模板文件 pkr.hcl 中为变量定义一个对应的 variable 块。默认情况下,当变量文件包含一个或多个未声明的变量时,packer validate 会发出警告。
  • -only=foo,bar,baz - 在验证时只验证具有给定逗号分隔名称的构建。在遗留的 JSON 格式模板中,构建的默认名称为其构建器的类型(例如 dockeramazon-ebsvirtualbox-iso),除非是在配置中指定了特定的名称属性。在 HCL2 模板中,“名称”是 source 代码块的 name 标签,除非构建中 source 的定义添加了 name 配置选项。
  • -machine-readable 将所有输出设置为机器可读的标准输出。日志记录(如果启用)会继续出现在标准错误流上。
  • -var - 设置一个 Packer 模板定义的变量的值。该选项可以多次使用。该功能在设置构建的版本号时很有用。
  • -var-file - 指定一个变量文件。

results matching ""

    No results matching ""