在我探索Packer时,我想知道以下内容:
文档中提到(作为入门步骤的一部分,其中Ubuntu镜像被提供给AWS):
注意:上面示例中的sleep 30非常重要。因为当SSH可用时,Packer能够检测并SSH到实例,Ubuntu实际上没有足够的时间来初始化。sleep确保操作系统正确初始化。
它展示了一个示例,其中一个shell provisioner(inline)是第一个启动的provisioner。
您是否总是需要在任何provisioner开始之前都
当我使用文件provisioner启动provisioning block时,它是否会自动等待操作系统正确初始化?
当我运行脚本/脚本shell provisioner而不是一块内联命令时,我是否需要使用
如果是这样,那么一个普遍的建议是始终将其放在provisioning block的顶部:
注意:上面示例中的sleep 30非常重要。因为当SSH可用时,Packer能够检测并SSH到实例,Ubuntu实际上没有足够的时间来初始化。sleep确保操作系统正确初始化。
它展示了一个示例,其中一个shell provisioner(inline)是第一个启动的provisioner。
您是否总是需要在任何provisioner开始之前都
sleep 30
,特别是:当我使用文件provisioner启动provisioning block时,它是否会自动等待操作系统正确初始化?
当我运行脚本/脚本shell provisioner而不是一块内联命令时,我是否需要使用
sleep 30
来启动第一个脚本?如果是这样,那么一个普遍的建议是始终将其放在provisioning block的顶部:
"provisioners": [
{
"type": "shell",
"inline": [
"sleep 30"
]
},
{...}]