gpt4 book ai didi

linux - Recipe 上的自定义 Recipe

转载 作者:太空宇宙 更新时间:2023-11-04 10:41:08 27 4
gpt4 key购买 nike

我正在使用来自 chef 的软件包开发自定义 Recipe 。

我在 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

最佳答案

你能试试knife upload 吗。 --force,以确保 Recipe 在 Chef 服务器上确实是最新的?

可能已经上传了旧版本的 Recipe (即在您创建 apache Recipe 之前),并且因为您在 metadata.rb 中保持了相同的版本号,knife(或berks,取决于你上传的内容)可能会跳过上传,认为没有任何改变。

更新:

应该注意的是,只有当您真的确定要更新 Chef 服务器上的现有版本时,才应该使用上面的内容(例如,如果您是仍在开发中)。

正如 @Tensibai 在下面的评论中指出的那样,在 cookbook 的元数据中添加版本号将是解决生产环境中此问题的更好方法。

关于linux - Recipe 上的自定义 Recipe ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35140164/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com