2016-08-08 20 views
0

我不想使用伯克斯在生产中,因为我不喜欢节点走出去到网上拉食谱(我只希望他们能够从厨师服务器拉他们以正常的方式)的想法。但我喜欢使用Berks进行本地开发,因为它为我解决了厨房的依赖问题。仅使用berks进行本地开发?

我想只是增加berksfile和berksfile.lock到gitignore,但我想我会问是否有可能与伯克斯做到这一点,而不从生产中删除。

回答

1

“节点”绝不会去上网找食谱,他们将始终从厨师服务器采购的,所以....问题的回复是:你打算如何提供食谱所使用的厨师服务器管理您的生产节点?

大多数人似乎做的是提交Berkshelf锁文件,只是运行一个“伯克斯应用”针对目标服务器的厨师。这很可能符合你的需求。

就个人而言,我喜欢开发和我的生产/非生产系统之间更好的分离。我使用Berkshelf中的“vendor”命令创建了一个包含我在开发中测试过的所有食谱的发布tarball,并将此二进制文件存储在版本控制系统中,如Nexus。我怀疑很多人会认为这种过度杀手,但它使我能够提供离线(无需互联网连接)和可追踪的配置交付。

+0

哦,我想我误解berkshelf是如何工作的。我认为节点看着berksfile中定义的“源”,默认情况下它是超级市场,以查看从哪里获得食谱。 – red888

+0

不,berks永远只用于将食谱上传到厨师服务器,或组装可传递给厨师独奏的文件夹。 – coderanger

+0

@ red888是的,厨师客户端在运行时不使用Berkshelf。后来发明了Berkshelf工具,以帮助将正确的食谱上传到厨师服务器(或与厨师独奏一起使用)。在它存在之前,手动确定哪个版本的食谱依赖于另一个版本是相当痛苦的。 –

相关问题