0

使用test-kitchenand Berkshelf,我想捕获和分发我当前的食谱。

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

  1. 通过每本食谱的操作码存储库检索Berksfile食谱
  2. 运行berks packagetar-ball 所有必要的食谱。然后,开发人员将解压缩 tarball,然后他们的 Berksfile 将通过以下方式检索每本说明书cookbook X, path: 'cookbooks/X'
  3. ???

哪个选项是最好的,为什么?

4

2 回答 2

2

为什么要分发食谱?Berkshelf/Bundler 等工具的全部意义在于,您不必共享食谱。

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

非常不鼓励非标准位置(即路径、github、svn、hg 等)。它们使解决图形几乎不可能,并使您的存储库的可移植性降低。

也可以看看:

资料来源:

  • 核心团队
于 2014-04-23T12:30:35.807 回答
1

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

  1. 其他开发商?
    • 最简单的解决方案是将您的 Berkfile.lock 与您的代码一起提交
    • 在某个时间点捕获依赖项
  2. 第三方
    • 创建一个 tarball(使用 Berkshelf)并上传到像Nexus这样的二进制存储库管理器。
    • 用户可以下载厨师服务器中使用的食谱的明确副本。如果客户位于公司防火墙后面,则很有用。

Jamie Windsor 在他的博客文章中讨论了各种方法:

于 2014-04-23T10:49:44.113 回答