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) - 为支持该功能的算法指定压缩级别,从1
到9
(含)。通常,较高的压缩级别需要较长的时间,但会生成较小的文件。默认为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
}