问题标签 [berkshelf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
385 浏览

github - Berkshelf - 社区食谱版本控制

现在我正在使用 Berkshelf 从我的本地存储库或我正在使用的社区食谱(例如 java / rvm 等)中提取食谱。

我正在将我的项目从使用分叉的社区食谱转变为直接从 github.com 拉取 berkshelf。问题是社区食谱上没有版本控制。我不能告诉 berkshelf 我正在使用旧版本的社区食谱,因为它根本不存在于 github 上。版本或与之相关的任何内容都没有分支。我可以通过查看提交日志(对于所需版本)来简单地分叉存储库,但这是我试图摆脱的额外开销(维护分叉)。

什么是最优化的解决方案?对我来说,berkshelf 无法从某个地方为社区食谱获取旧版本,这听起来是错误的。

0 投票
1 回答
2112 浏览

chef-infra - 使用 Chef 服务器和 vagrant 提供开发人员环境,无需注册节点

我希望创建一个基于 Web 的应用程序的开发人员环境,该环境将使用 vagrant 在 VM 上安装应用程序服务器和数据库服务器。我正在使用开源厨师服务器和带chef_client供应商的流浪者。但是,每次供应开发者节点时,chef_client供应者都会在厨师服务器上创建一个客户端节点。这是不可取的,因为许多开发人员将使用此设置。这样的节点可能会被创建和销毁多次。因此不需要在 Chef 服务器上维护此类节点的列表。

chef_solo是另一种选择,但它要求系统中存在说明书。我们也使用厨师服务器作为食谱的存储库。因此,开发人员不需要在他/她的系统中有特定的说明书。我也查看了 berkshelf,我可以在其中配置chef_api厨师服务器的路径。但这也需要一个节点。以下是我的流浪文件:

我希望不在sample_app厨师服务器上创建节点。否则这符合我的目的。欢迎使用 Chef 服务器提供开发人员环境的任何其他策略。

0 投票
0 回答
352 浏览

chef-infra - Berkshelf 每次都从网上下载食谱

我正在为我的应用程序开发一本食谱。我正在使用 vagrant 和厨师独奏。我已经编写了食谱,因此只有我的食谱在 Berkfile 中被引用,而其他食谱文件在我的食谱中被引用

但是现在每个依赖的食谱似乎每次都是从网上下载的!当我直接提到食谱时,情况并非如此。知道我可能改变了什么吗?

[编辑] 当我直接将所有依赖项添加到 Berksfile 时,似乎并没有花时间来完成运行。

0 投票
1 回答
1074 浏览

centos - 在 CentOS 6.5 上与 Chef Solo 一起流浪:厨师找不到食谱 yum 的食谱 repoforge?

我正在用 Chef Solo 和 Berkshelf 在 CentOS 6.5 上构建一个 Vagrant VM。出于某种原因,当我尝试安装“htop”食谱时,出现此错误:

有没有人见过这种错误?我的 Vagrantfile 部分如下所示:

如果我做同样的事情但没有'htop'配方,它工作正常。我什至尝试添加:

我仍然得到同样的错误。

想法?

0 投票
1 回答
866 浏览

chef-infra - Vagrant、Berkshelf 和 Chef Solo:指定特定的食谱/食谱版本?

我正在与 Berkshelf 和 Chef Solo 一起使用 Vagrant。我有多个带有多个虚拟机的项目。我最近意识到,对于一些人来说,我需要使用“yum”cookbook 2.x 版本,而对于其他人来说,我需要使用“yum”cookbook 3.x 版本。我相信 Berkshelf 可以很好地安装两者,但我不知道如何在我的 Vagrantfile 中特别指定哪一个。

它是 Chef Solo 配置块中 JSON 的一部分吗?还是 add_recipe() 方法的参数?

我找不到任何好的参考资料。

蒂亚!

0 投票
1 回答
1076 浏览

ruby - 使用 ruby​​ gem berkshelf 时找不到符号

我一直在使用 berkshelf 遇到一般问题,即依赖求解器问题,您可以在此处阅读更多信息

现在这个问题已经解决了,我刚刚尝试进行捆绑安装/更新和 berks 安装来尝试新的依赖关系求解器,但是当我进行 berks 安装时出现了一个奇怪的错误:

现在我对 Ruby 不太了解,但我对 C++ 有一些经验,我永远不会忘记这类库链接问题。唯一的问题是我真的不知道我应该用这个做什么!?

我在 Mac 上,所以我使用自制软件安装了 Gecode 依赖项。我已经尝试卸载它并重新安装了几次,我什至尝试按照这篇文章进行操作,但它似乎并没有改变任何东西。

任何建议将不胜感激,谢谢!

0 投票
0 回答
545 浏览

chef-infra - 在包装食谱中合并食谱之间的属性

我正在尝试为logstash具有某种可混合属性的特定于站点的包装食谱创建。

食谱的工作原理logstash是你有一个default[:logstash][:agent][:inputs]属性,模板使用它生成一个配置文件。

所以,我有一个base角色,它定义了 some inputs,一个python_service角色定义了其他输入,以及一个node同时具有这两个角色的角色,所有这些inputs都会合并,并且会生成一个包含所有输入的配置。

我正在尝试使用recipes.

我创建了一work-logstash本食谱,它有work-logstash::base食谱和work-logstash::python_service食谱。食谱基本上看起来像这样,只有不同的设置(和其他细节):

问题何时run_listrecipe[work-logstash::base], recipe[work-logstash::python_service]最后一个配方只是覆盖inputs集合而不是合并。

我找到的解决方案如下:

只需append输入到默认属性,因此每个recipe运行并附加他的输入,最终结果具有所有输入。

这似乎很骇人听闻,因为我是新手,chef我想知道如何去做。我离开角色的原因是它们没有版本控制,而且我读过它们不是保留属性的好地方。

谢谢。

0 投票
1 回答
1196 浏览

vagrant - 从 Vagrant 1.3.5 升级到 1.4.3。在`vagrant-berkshelf`插件上失败

注意 - 这个问题也发布在https://groups.google.com/forum/#!topic/vagrant-up/aZOs1YXmvhI

设置

编辑我刚刚安装并更新了我的 %PATH% 以使用 ruby​​ 2.0,但仍然有同样的问题。

Windows 7PC 上,我使用Vagrant 1.3.5with VirtualBox 4.3.8,但升级到上述版本以尝试修复共享目录问题 - https://groups.google.com/forum/#!topic/vagrant-up/eC72_YXdtYE

无论如何,在升级到第一个列出的版本后,我使用“删除/删除所有文件”使用 VirtualBox 销毁了我的 VM。然后我尝试使用以下命令启动 VM,但未成功vagrant up

如何调试此错误?

0 投票
1 回答
983 浏览

maven - 在 Vagrantfile 自定义 JSON 数据中覆盖 Cookbook 属性

如何在 Vagrant 文件中使用 chef.json 访问 node.override?

例如,使用vagrant-berkshelf,我正在尝试安装基于自定义 JSON 数据的特定 Maven 版本Vagrantfile

食谱\maven_custom\attributes\default.rb

食谱\maven_custom\recipes\default.rb

当我运行vagrant provision时,会打印出以下内容:

3.2.1

此外,我试过vagrant reload --provision了,但仍然看到“3.2.1”打印出来。

我已经预料到3.0.5了,因为我(我认为)在我的Vagrantfile.

如何正确提取Vagrantfile's“3.0.5”的 JSON 值?

0 投票
2 回答
213 浏览

chef-infra - 向团队成员分发食谱

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

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

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

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