将Cookbook分发给团队成员

时间:2014-04-22 21:20:29

标签: chef berkshelf test-kitchen

使用test-kitchenBerkshelf,我想捕获&分发我目前的食谱。

告诉队友安装berkshelf后,这些选项似乎有可能:

  1. 通过opscode repo按Berksfile cookbook
  2. 检索cookbook
  3. 运行berks package以tar-ball所有必要的食谱。然后,开发人员将解压缩tarball,然后他们的Berksfile将通过cookbook X, path: 'cookbooks/X'
  4. 检索每个cookbook
  5. ???
  6. 哪个选项最好?为什么?

2 个答案:

答案 0 :(得分:2)

为什么要分发食谱? Berkshelf / Bundler等工具的全部内容使您必须共享食谱。

当您使用Berkshelf安装烹饪书时,Berkshelf将生成一个锁文件。此lockfile包含所有cookbook的列表及其位置。然后,您将该锁定文件签入源代码控制。当您的队友克隆/更新存储库时,他们将获得该锁定文件。然后运行berks install时,Berkshelf将遵守lockfile中的所有约束和版本。

非常不鼓励非标准位置(即path,github,svn,hg等)。他们使图解几乎不可能,并使您的存储库不那么便携。

另见:

来源:

  • 核心团队

答案 1 :(得分:1)

我怀疑最好的选择归结为你打算将你的食谱分发给谁。

  1. 其他开发者?
    • 最简单的解决方案是将Berkfile.lock与代码一起提交
    • 在某个时间点捕获依赖关系
  2. 第三方
    • 创建一个tarball(使用Berkshelf)并上传到二进制存储库管理器,如Nexus
    • 用户可以下载厨师服务器中使用的烹饪书的明确副本。如果客户在公司防火墙后面,则非常有用。
  3. Jamie Windsor在他的博客文章中讨论了各种方法: