【发布时间】:2016-02-04 16:57:12
【问题描述】:
我正在使用 Chef 的软件包开发自定义食谱。
我在 recipes 文件夹下创建了一个名为 apache.rb 的文件。
然后我通过 berks 上传了食谱,并使用 recipe["packages::apache"] 在一个节点上编辑了食谱列表。
当我运行 chef-client 时,出现以下错误:
could not find recipe apache for cookbook packages
这是位于 recipes/ 文件夹下的 apache.rb:
package 'Install Apache' do
case node[:platform]
when 'redhat', 'centos'
package_name 'httpd'
version '2.2.0'
when 'ubuntu', 'debian'
package_name 'apache2'
end
action :install
end
【问题讨论】:
-
真的上传成功了吗?
-
是的。 berks 上传没有错误。
-
伯克斯是在拉你的
packages食谱还是超市? (我想这有什么问题,你应该避免出现在超市里的名字。这里我们在我们的食谱前面加上公司名称)。 -
我的意思是不要修改社区食谱,做一个包含社区食谱的包装食谱,并在需要时覆盖它的属性并重写资源,添加你自己的食谱,包括社区食谱和做无关的事情
-
@Tensibai 我想这是最好的解决方案。你在网上有一些关于包装食谱的例子吗?
标签: linux chef-infra