You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Packer中使用Chef 14构建AMI时无法调用deploy资源的问题求助

解决Chef 14中Packer构建AMI时找不到deploy资源的问题

我之前也碰到过一模一样的坑!刚好可以给你梳理下原因和解决办法:

问题根源

Chef从13版本开始就把deploy资源标记为弃用,到了Chef 14直接从核心代码里移除了这个资源——这就是你在Packer里构建时出错的原因。之前用chef-solo能正常运行,大概率是因为你的solo环境里要么装了旧版本的Chef,要么无意间已经引入了单独的chef-deploy cookbook。

临时解决办法(快速恢复功能)

如果只是想先让Packer构建正常跑起来,可以按这两步操作:

  • 把chef-deploy cookbook添加到你的Chef仓库中:可以用Berkshelf在Berksfile里添加cookbook 'chef-deploy',或者直接从社区下载后放到本地cookbooks目录
  • 在用到deploy资源的recipe开头,添加一行include_recipe 'chef-deploy',这样就能让Chef加载到这个资源了

长期替代方案(官方推荐)

因为chef-deploy本身也处于维护状态,不再积极开发,Chef官方更推荐用以下方式替代:

  • 使用poise-deploy cookbook:这是一个更现代的部署资源实现
  • 直接用git资源配合简单的bash脚本:手动处理代码拉取、版本切换、权限设置等步骤,灵活性更高

你找到的关于deploy资源弃用的相关说明完全正确,这个问题确实是版本迭代带来的兼容性问题,把这个问题留着给后来人参考也很有价值~

内容的提问来源于stack exchange,提问作者tonekk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:03:41