berkshelf 是否支持多本食谱?如何?
Does berkshelf support multiple cookbooks? How?
我在 Chef 存储库中创建了两本食谱,我想尝试使用 Berkshelf 对其进行管理。
一本食谱依赖于另一本食谱。两者都不在 Chef Supermarket。我不想仅仅为了解决依赖关系而将它们添加到那里。
关于 berks 安装这个东西抱怨另一本食谱丢失。
这本食谱仅在上传到我的 Chef 服务器时存在。它不在 Chef 超市,也不在 ~/.berkshelf/cookbooks/
这可能吗?或者 Berkshelf 是否需要一本食谱中的所有食谱?不在 Chef 超市的两本食谱之间不可能有依赖关系?
Berkshelf 似乎没有处理这种多本相互依赖的食谱的用例。在 ~/.berkshelf/cookbooks.
中也没有获取食谱的命令
Berkshelf 确实支持多本食谱。
我有在同一个 berkshelf 中管理 30 多本食谱的经验。
Berks 可以从本地路径、git 路径、github 来源和来自 Chef super market 的社区食谱参考食谱。
更新
让我们以查询中提到的场景为例。请执行以下步骤,
- 您需要用您的食谱和其他东西创建一个项目存储库。
- 项目回购只不过是一个包含角色、数据包、说明书和环境的其他目录的目录。
- 将您的食谱放入
cookbooks
目录。
- 在 repo 的根目录中创建一个
Berksfile
。
Berksfile
使用 berkshelf。使用 gem install berkshelf
安装最新的 berkshelf 版本(我更喜欢使用 bundle install)
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
- 社区食谱依赖项将在第一行使用源 url 得到解决。
现在基本的项目回购设置已经完成。您准备好 [=78=] berks install
列表项berks list
请尝试以上步骤,如果能解决您的问题,请告诉我。
- 如果您想上传内容,请按照以下步骤操作,
- 在项目存储库中创建目录“.chef”
- 将您的 Chef 服务器 knife/pem 文件复制到 .chef
运行 下面从项目仓库中提到的命令。
伯克斯上传
您的食谱将使用命令上传到 Chef 服务器。
您可以使用 knife upload data_bags 和 knife upload roles,从 repo 上传您的数据包和角色。
我在 Chef 存储库中创建了两本食谱,我想尝试使用 Berkshelf 对其进行管理。
一本食谱依赖于另一本食谱。两者都不在 Chef Supermarket。我不想仅仅为了解决依赖关系而将它们添加到那里。
关于 berks 安装这个东西抱怨另一本食谱丢失。
这本食谱仅在上传到我的 Chef 服务器时存在。它不在 Chef 超市,也不在 ~/.berkshelf/cookbooks/
这可能吗?或者 Berkshelf 是否需要一本食谱中的所有食谱?不在 Chef 超市的两本食谱之间不可能有依赖关系?
Berkshelf 似乎没有处理这种多本相互依赖的食谱的用例。在 ~/.berkshelf/cookbooks.
中也没有获取食谱的命令Berkshelf 确实支持多本食谱。 我有在同一个 berkshelf 中管理 30 多本食谱的经验。 Berks 可以从本地路径、git 路径、github 来源和来自 Chef super market 的社区食谱参考食谱。
更新
让我们以查询中提到的场景为例。请执行以下步骤,
- 您需要用您的食谱和其他东西创建一个项目存储库。
- 项目回购只不过是一个包含角色、数据包、说明书和环境的其他目录的目录。
- 将您的食谱放入
cookbooks
目录。 - 在 repo 的根目录中创建一个
Berksfile
。 Berksfile
使用 berkshelf。使用gem install berkshelf
安装最新的 berkshelf 版本(我更喜欢使用 bundle install)
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
- 社区食谱依赖项将在第一行使用源 url 得到解决。
现在基本的项目回购设置已经完成。您准备好 [=78=]
berks install
列表项
berks list
请尝试以上步骤,如果能解决您的问题,请告诉我。
- 如果您想上传内容,请按照以下步骤操作,
- 在项目存储库中创建目录“.chef”
- 将您的 Chef 服务器 knife/pem 文件复制到 .chef
运行 下面从项目仓库中提到的命令。
伯克斯上传
您的食谱将使用命令上传到 Chef 服务器。
您可以使用 knife upload data_bags 和 knife upload roles,从 repo 上传您的数据包和角色。