我使用 packer.io 来构建虚拟机映像。我使用 puppet 的 shell 脚本来配置虚拟机。
现在,有时会出现此配置脚本无法正确配置虚拟机的情况。
我正在使用 Rundeck 来触发打包程序的配置。
我需要一种方法来告诉 Rundeck VM 内部的配置脚本失败了。
我没有在 packer.io 文档中找到有关此问题的任何内容。
答案1
这是由于 puppet 对退出代码的处理不同造成的。
我必须使用:
puppet apply --detailed-exitcodes /etc/puppet/modules/...
if [[ $? != 2 ]]
then
exit 1
fi
;;
当 puppet 没有以“一切顺利”的退出代码 2 完成时,这向 packer.io 指示正确的退出代码 1。