我注意到 Packer 会“挂起”在复制食谱的厨师独奏配置步骤中。 看起来几乎是每 3 秒复制一个文件。 我在此操作期间登录到 EC2 实例并验证文件计数确实在缓慢增加。
相关日志输出的要点:
https://gist.github.com/JCapriotti/4ecfe4a1e20fcbd879161086b0815861
不幸的是,我们依赖大约 13 本食谱,这为我们的构建增加了大约 45 分钟。 只为复制文件!
任何希望加快 WinRM Windows 构建速度的人都可以通过使用文件配置器在 Chef-solo 配置器运行之前复制 zip 文件中的所有食谱并指定remote_cookbook_paths
来解决此问题。 像这样的事情大大加快了我的构建时间:
"provisioners": [
{
"type": "file",
"source": "berks-cookbooks.zip",
"destination": "c:\\temp\\"
},
{
"type": "powershell",
"inline": [
"Expand-Archive -LiteralPath c:\\temp\\berks-cookbooks.zip -DestinationPath C:\\temp"
]
},
{
"type": "chef-solo",
"version": "15.3.14",
"chef_license": "accept",
"guest_os_type": "windows",
"remote_cookbook_paths": [
"c:/temp/berks-cookbooks"
],
"run_list": "{{user `ami_run_list`}}",
}
}
如果您取消 winRM 的优先级,那没关系,但这应该是性能错误而不是增强功能。 即使是中等大小的食谱清单,烘烤时间也是无法忍受的。 我们的是 < 3Mb,但上传需要 25 分钟!
最有用的评论
任何希望加快 WinRM Windows 构建速度的人都可以通过使用文件配置器在 Chef-solo 配置器运行之前复制 zip 文件中的所有食谱并指定
remote_cookbook_paths
来解决此问题。 像这样的事情大大加快了我的构建时间: