berkshelf是否支持多种烹饪书?怎么样?

时间:2015-04-18 08:26:51

标签: berkshelf

我在厨师仓库中创建了两本烹饪书,我想尝试使用Berkshelf进行管理。

一本食谱依赖于另一本。两者都不在厨师超市。我不想在那里添加它们只是为了依赖解析。

关于berks安装此事抱怨其他食谱丢失。

此食谱仅作为上传到我的Chef服务器存在。它不在Chef超市,也不在〜/ .berkshelf / cookbooks /

这可能吗?或者Berkshelf是否需要一本食谱中的所有食谱?不能在Chef超市中的两本烹饪书之间存在依赖关系吗?

Berkshelf似乎没有处理多个相互依赖的烹饪书的这种用例。在〜/ .berkshelf / cookbooks中也没有命令来获取食谱。

1 个答案:

答案 0 :(得分:3)

Berkshelf支持多种烹饪书。 我在同一个berkshelf管理超过30本烹饪书的经验。 Berks可以从Chef超市购买本地路径,git路径,github资源和社区食谱中的食谱。

<强>更新

让我们以查询中提到的场景为例。请执行以下步骤,

  • 您需要使用烹饪书和其他内容创建项目存储库。
  • 项目回购只是一个包含角色,数据库,食谱和环境的其他目录的目录。
  • 将您的食谱放在cookbooks目录中。
  • 在回购的根目录中创建Berksfile
  • Berksfile使用berkshelf。使用gem install berkshelf安装最新的berkshelf版本(我更喜欢使用捆绑安装)

Berksfile

的示例内容
source "https://supermarket.chef.io"

# Mention community cookbooks used, if any
cookbook 'community_cookbook_name'

# Mention cookbook names from your repo
%w(my_cookbook_name_1 my_cookbook_name_2).each do | cookbook_name |
  cookbook cookbook_name, path: 'cookbooks/' + cookbook_name
end
  • 社区食谱依赖关系将使用第一行中的源网址解析。
  • 现在基本的项目回购设置已经完成。您已准备好运行berks install

  • 列出项目berks list

请尝试以上步骤,并告诉我它是否已解决您的目的。

  • 如果您要上传内容,请按照以下步骤
  • 进行操作
  • 在项目资源库中创建目录“.chef”
  • 将Chef服务器刀/ pem文件复制到.chef
  • 从项目仓库中运行下面提到的命令。

    berks上传

    您的食谱将使用命令上传到Chef服务器。

  • 您可以使用刀上传data_bags和刀上传角色,从repo上传您的数据库和角色。