Compress 后处理器

原文


类型:compress 制品构建器 ID:packer.post-processor.compress

Packer 的 compress 后处理器获取包含文件的制品(例如来自 VMware 或 VirtualBox 的文件),并将该制品压缩到单个存档中。

配置

可选

默认情况下,Packer 将以 .tar.gz 格式构建存档,文件名如下:packer_{{.BuildName}}_{{.BuilderType}}。如果您想更改此设置,则需要指定 output 选项。

  • output(string)- 保存压缩档案的路径。存档格式是从文件名推断出来的。例如。 .tar.gz 会保存为一个 gzip 压缩的 tarball, .zip 将是一个 zip 文件。如果无法检测到扩展名,Packer 默认使用 .tar.gz 格式压缩,但不会更改文件名。

该参数的值会结合模板引擎渲染。因此,您可以在此字段中使用用户传入的变量和模板函数。以下特殊变量也可在输出模板中使用:

  • {{.BuildName}}
  • {{.BuilderType}}

如果您并行执行多个构建器,则应确保每个构建器的 output 都是唯一的。例如 packer_{{.BuildName}}.zip

  • format(string)- 禁止自动检测存档格式,使用设置的格式
  • compression_level (number) - 为支持该功能的算法指定压缩级别,从 19(含)。通常,较高的压缩级别需要较长的时间,但会生成较小的文件。默认为 6
  • keep_input_artifact (boolean) - 如果为 true,则保留源文件和压缩文件;如果为 false,则丢弃源文件。默认为 false

支持的格式:

支持的文件扩展名包括 .zip.tar.gz.tar.gz.lz4.tar.lz4。请注意,.gz.lz4 不能用来压缩多个文件。

配置样例

一些例子(仅包含后处理器部分):

{
  "type": "compress",
  "output": "archive.tar.lz4"
}

{
  "type": "compress",
  "output": "{{.BuildName}}_bundle.zip"
}

{
  "type": "compress",
  "output": "log_{{.BuildName}}.gz",
  "compression_level": 9
}

results matching ""

    No results matching ""