仅将 berk 用于本地开发?

Using berks for local development only?

我不想在生产中使用 berks,因为我不喜欢节点到 web 上拉取食谱的想法(我只希望它们以正常方式从 Chef 服务器中拉取它们) .但我喜欢使用 Berks 进行本地开发,因为它为我解决了厨房的依赖关系。

我正在考虑将 berksfile 和 berksfile.lock 添加到 gitignore,但我想我会问是否有可能在不将其从生产中删除的情况下使用 berks 完成此操作。

"nodes"永远不会去网上找食谱,它们总是来自厨师服务器,所以.... 问题回来了:你建议如何将食谱发送到用于管理您的生产节点的厨师服务器?

大多数人所做的似乎是提交 Berkshelf 锁定文件,然后 运行 一个 "berks apply" 针对目标 Chef 服务器。这很可能符合您的需求。

就个人而言,我喜欢更好地将开发与我的 production/non-production 系统分开。我使用 Berkshelf 中的 "vendor" 命令创建了一个包含我在开发中测试过的所有说明书的发布 tarball,并将此二进制文件存储在 Nexus 等修订控制系统中。我怀疑很多人会认为这是过度杀戮,但它使我能够提供离线(不需要互联网连接)和可追踪的配置交付。