问题标签 [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.
github - Berkshelf - 社区食谱版本控制
现在我正在使用 Berkshelf 从我的本地存储库或我正在使用的社区食谱(例如 java / rvm 等)中提取食谱。
我正在将我的项目从使用分叉的社区食谱转变为直接从 github.com 拉取 berkshelf。问题是社区食谱上没有版本控制。我不能告诉 berkshelf 我正在使用旧版本的社区食谱,因为它根本不存在于 github 上。版本或与之相关的任何内容都没有分支。我可以通过查看提交日志(对于所需版本)来简单地分叉存储库,但这是我试图摆脱的额外开销(维护分叉)。
什么是最优化的解决方案?对我来说,berkshelf 无法从某个地方为社区食谱获取旧版本,这听起来是错误的。
chef-infra - 使用 Chef 服务器和 vagrant 提供开发人员环境,无需注册节点
我希望创建一个基于 Web 的应用程序的开发人员环境,该环境将使用 vagrant 在 VM 上安装应用程序服务器和数据库服务器。我正在使用开源厨师服务器和带chef_client
供应商的流浪者。但是,每次供应开发者节点时,chef_client
供应者都会在厨师服务器上创建一个客户端节点。这是不可取的,因为许多开发人员将使用此设置。这样的节点可能会被创建和销毁多次。因此不需要在 Chef 服务器上维护此类节点的列表。
chef_solo
是另一种选择,但它要求系统中存在说明书。我们也使用厨师服务器作为食谱的存储库。因此,开发人员不需要在他/她的系统中有特定的说明书。我也查看了 berkshelf,我可以在其中配置chef_api
厨师服务器的路径。但这也需要一个节点。以下是我的流浪文件:
我希望不在sample_app
厨师服务器上创建节点。否则这符合我的目的。欢迎使用 Chef 服务器提供开发人员环境的任何其他策略。
chef-infra - Berkshelf 每次都从网上下载食谱
我正在为我的应用程序开发一本食谱。我正在使用 vagrant 和厨师独奏。我已经编写了食谱,因此只有我的食谱在 Berkfile 中被引用,而其他食谱文件在我的食谱中被引用
但是现在每个依赖的食谱似乎每次都是从网上下载的!当我直接提到食谱时,情况并非如此。知道我可能改变了什么吗?
[编辑] 当我直接将所有依赖项添加到 Berksfile 时,似乎并没有花时间来完成运行。
centos - 在 CentOS 6.5 上与 Chef Solo 一起流浪:厨师找不到食谱 yum 的食谱 repoforge?
我正在用 Chef Solo 和 Berkshelf 在 CentOS 6.5 上构建一个 Vagrant VM。出于某种原因,当我尝试安装“htop”食谱时,出现此错误:
有没有人见过这种错误?我的 Vagrantfile 部分如下所示:
如果我做同样的事情但没有'htop'配方,它工作正常。我什至尝试添加:
我仍然得到同样的错误。
想法?
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() 方法的参数?
我找不到任何好的参考资料。
蒂亚!
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_list
是recipe[work-logstash::base], recipe[work-logstash::python_service]最后一个配方只是覆盖inputs
集合而不是合并。
我找到的解决方案如下:
只需append
输入到默认属性,因此每个recipe
运行并附加他的输入,最终结果具有所有输入。
这似乎很骇人听闻,因为我是新手,chef
我想知道如何去做。我离开角色的原因是它们没有版本控制,而且我读过它们不是保留属性的好地方。
谢谢。
vagrant - 从 Vagrant 1.3.5 升级到 1.4.3。在`vagrant-berkshelf`插件上失败
注意 - 这个问题也发布在https://groups.google.com/forum/#!topic/vagrant-up/aZOs1YXmvhI
设置
编辑我刚刚安装并更新了我的 %PATH% 以使用 ruby 2.0,但仍然有同样的问题。
在Windows 7
PC 上,我使用Vagrant 1.3.5
with VirtualBox 4.3.8
,但升级到上述版本以尝试修复共享目录问题 - https://groups.google.com/forum/#!topic/vagrant-up/eC72_YXdtYE。
无论如何,在升级到第一个列出的版本后,我使用“删除/删除所有文件”使用 VirtualBox 销毁了我的 VM。然后我尝试使用以下命令启动 VM,但未成功vagrant up
:
如何调试此错误?
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 值?
chef-infra - 向团队成员分发食谱
使用test-kitchen
and Berkshelf
,我想捕获和分发我当前的食谱。
在告诉队友安装后berkshelf
,这些选项似乎是可能的:
- 通过每本食谱的操作码存储库检索
Berksfile
食谱 - 运行
berks package
tar-ball 所有必要的食谱。然后,开发人员将解压缩 tarball,然后他们的 Berksfile 将通过以下方式检索每本说明书cookbook X, path: 'cookbooks/X'
- ???
哪个选项是最好的,为什么?