首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ChefDK策略文件工作流程-如何上传第三方食谱?

ChefDK策略文件工作流程-如何上传第三方食谱?
EN

Stack Overflow用户
提问于 2016-09-05 09:38:07
回答 1查看 641关注 0票数 1

我正在尝试理解Chef Server的Policyfile工作流。

到目前为止,我已经到了生成锁文件和"chef provision“正确获取配置食谱并启动聚合过程的阶段。

然而,似乎没有与Policyfiles等同的"berks安装/ berks供应商/刀子上传“-在”厨师推送“期间,没有第三方食谱被上传到Chef服务器。因此,"chef provision“命令显然会失败,并显示”无法找到食谱“的错误。

下面是我的Policyfile的代码片段:

代码语言:javascript
复制
name "policy-test"
# Where to find external cookbooks:
default_source :supermarket
run_list "role[my-book::default]"

cookbook 'my-book', path: './cookbooks/my-book'
cookbook 'java'
cookbook 'chef-teamcity'

当我运行"chef push DEV“时,只有"my-book”被上传到Chef server,而其他的都没有(尽管它们在Policyfile.lock中得到了正确的提及)。这是正确的行为,还是我做错了什么?

在此期间,我已经求助于Berksfile和刀子上传依赖项作为一种变通办法,但这从一开始就消除了拥有Policyfile的很多价值。

有没有办法让“厨师推送”上传第三方食谱?

在此之前,非常感谢您。

更新:

我已经用recipe替换了role,但它仍然不起作用:

代码语言:javascript
复制
 Starting Chef Client, version 12.13.37
                      resolving cookbooks for run list: ["my-book::default"]

                      ================================================================================
                      Error Resolving Cookbooks for Run List:
                      ================================================================================

                      Missing Cookbooks:
                      ------------------
                      The following cookbooks are required by the client but don't exist on the server:
                      * my-book

仍然需要使用berks上传/刀子上传解决方法。

这与这个问题相关吗?https://github.com/chef/chef-dk/issues/901

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-06 03:06:36

您不能真正将角色与策略文件一起使用,因为策略本身取代了角色的概念。推送使用运行列表来知道要上传什么,运行列表中提到的任何食谱或其依赖项都将被上载。在这种情况下,您可能希望将其切换到recipe[my-book],而不是在策略中列出这两本食谱,而是将它们作为依赖项添加到my-book/metadata.rb中。有关更完整的演练,请查看https://yolover.poise.io/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39322933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档