我不明白如何在Packer中使用startup_script_file。在文档中,我读到以下内容:
可以通过startup_script_file或"启动脚本"实例创建元数据字段提供启动脚本。
但是没有一个例子,它告诉我的并不多。我不知道我是否可以在我的配置文件中这样做(在构建器块内(:
"metadata" {
"startup_script_file": "path to file"
}
或者我应该这样使用它:
$ packer build -startup_script_file 'path to file' config.json
如果我可以在配置文件中设置它,我是否应该在配置器块中设置其他内容以使其工作?不幸的是,文档对此说得太少,也没有提供任何示例。至少,我找不到它。
startup-script
metadata
参数在 Packer 模板中内联启动脚本,也可以使用 startup_script_file
选项将启动脚本作为文件提供。
示例 - 内联:
{
"builders": [{
"type": "googlecompute",
"metadata": {
"startup-script": "<your startup script here. Be careful with json escaping.>"
}
}]
}
示例 - 单独的启动脚本:
{
"builders": [{
"type": "googlecompute",
"startup_script_file": "scripts/gce-startup-script.sh"
}
}]
}
我建议使用最新版本,因为即使是非常短的脚本,Json 很快就会逃逸变得棘手。选择前一个选项的唯一真正原因是,如果您需要在启动脚本中插入(Packer(用户变量。