Chef infra “究竟是什么?”;伯克斯更新<;食谱名称>&引用;做

Chef infra “究竟是什么?”;伯克斯更新<;食谱名称>&引用;做,chef-infra,berkshelf,berksfile,Chef Infra,Berkshelf,Berksfile,根据“berks help update”,该命令应该: “更新Berksfile中指定的cookbooks(和依赖项)” (是的……就这么说!) 但这到底意味着什么 在您的Berksfile中,不同类型的“食谱”规范会有什么不同 update命令将尝试查找每个烹饪书的最新版本(仍然满足您定义的任何版本要求)。例如,假设您有以下Berksfile: cookbook 'foo', '~> 1.0.0' 这告诉Berkshellf接受1.0.x系列中的任何版本。因此,您运行berksins

根据“berks help update”,该命令应该:

“更新Berksfile中指定的cookbooks(和依赖项)”

(是的……就这么说!)

但这到底意味着什么


在您的Berksfile中,不同类型的“食谱”规范会有什么不同

update命令将尝试查找每个烹饪书的最新版本(仍然满足您定义的任何版本要求)。例如,假设您有以下Berksfile:

cookbook 'foo', '~> 1.0.0'
这告诉Berkshellf接受
1.0.x
系列中的任何版本。因此,您运行
berksinstall
,并且(假设)将
foo-1.0.5
安装到本地BerksShelf中。锁文件将在版本1.0.5中“锁定”foo的定义,因此其他开发人员和将来的安装将始终使用版本1.0.5(这是锁文件的全部要点)

(几个月过去了……)

现在,您需要将cookbook更新为最新版本。但是由于,您希望保留在1.0.x系列中。运行
berks update
将解锁锁定文件中的硬依赖项,但将约束保留在Berksfile中。因此(假设),如果社区站点有以下foo cookbook版本:

  • 1.0.5
  • 1.0.6
  • 1.0.8
  • 1.1.0
  • 2.0.0

berks update
会将您的本地版本更新为
1.0.8
,因为这是最新发布的版本,仍然满足您的约束。

它是否也在虚拟机中放置了一份烹饪书?什么虚拟机?我不知道你在哪里提到过虚拟机?我很好奇,
berks update
是否也在Vagrant框中做了一些事情,比如像/etc/chef/那样将烹饪书复制到虚拟机上。在做了更多的研究之后,我发现它并没有做到这一点。但我仍然很好奇索洛厨师在哪里找到了这些食谱。@Erasmose-我没有问过流浪汉的行为。如果你对此感到好奇,请随意问一个新问题。你需要使用类似“流浪汉”的东西。