问题标签 [berksfile]
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.
chef-infra - 如何配置 berks API 服务器?
我想在我的基础架构中实现 Berks API,包括 Jenkins、Git 服务器和 Chef 12 Enterprise 服务器。根据 Berkshelf 方式,每本食谱都在 Git 服务器中它自己的存储库中。基本上,我只希望我的顶级 Berksfile 仅包含角色说明书,然后“让”Berkshelf 从我的 Git 服务器中提取传递依赖项。
我已经阅读了用于服务器安装的Berks API 自述文件,但是我应该在“哪里”安装说明书?我是否将其安装在我的 Git 服务器上?我已经阅读了 Chef 服务器已准备好 Berks API,但我并没有从那里提取我的食谱,而是在那里“上传”它们。
请帮助我的困惑。
更新 2
我可以通过将 Berksfile 中的源代码行从 https 更改为 http 来修复我的 SSL 错误,即
更新
我已经通过 ~/.berkshelf/api-server/config.json 中的以下 config.json 文件配置了我的 berks-api 服务器的端点
然后我运行 berks-api,并在我的终端上看到前几行,所以我知道它正在运行
我的一本食谱上的 Berksfile 中有这一行
但是,当我在我的一个 Chef 工作站上安装 berks 时,我得到了
berkshelf - 安装在食谱上的 Berks 找不到自己
我已经开始使用 Berkshelf,这似乎很有意义,但我无法理解它应该如何工作。
首先,我使用berks cookbook mycookbook
. mycookbook
然后我添加了一个依赖,只发现运行时找不到berks install
所以看起来mycookbook
(这是版本 0.1.0)取决于mycookbook
版本 0.1.0 的默认值。为什么要mycookbook
依赖mycookbook
?
chef-infra - 致命:NoMethodError:未定义的方法`unreachable_cookbook?对于零:NilClass
我是厨师新手,开始使用用户库编写一个简单的食谱。我的 Berks 文件:
然后我跑了:
和我的食谱:
最后是我的食谱:
当我申请时,我收到一个错误:
我相当肯定include_recipe “用户”是问题(至少是第一个)。我还发现这一行Stacktrace 转储到 /home/name/.chef/cache/chef-stacktrace.out很有趣,因为该位置没有文件。
我尝试过使用和不使用 sudo。所以我认为这不是权限问题。
我正在运行本地安装的厨师服务器 12.3,它看起来运行良好......
谢谢
berksfile - Berkshelf - 来自另一个 git repo 的依赖项
我有一本食谱,它依赖于其中一个 opsworks 食谱(在 git 存储库中),而后者又在元数据中定义了许多依赖项,这些依赖项也位于同一个存储库中。我已在我的食谱元数据文件中添加了依赖项。但是当我运行 berks install 时,它能够解析我的依赖说明书,但不能解析它的依赖项。请帮助我编写将解决所有依赖关系的 Berksfile。
谢谢
chef-infra - Berksfile.lock 被忽略了吗?
Berksfile
我的目录中有以下内容app/
:
当我运行berks install
(版本 4.3.3)时,我得到:
我的应用程序目录包含一个Berksfile.lock
包含以下行
在我最初的时候Berksfile
,我删除了该cookbook apt
行(第 2 行)。我希望 berks 使用我的Berksfile.lock
. 但是,当我berks install
再次运行时,我得到:
我Berksfile.lock
的更新为新apt
版本。这是预期的行为吗?我希望使用berks update
命令会出现这种行为......
chef-infra - berks 无法解决来自食谱的依赖
我正在尝试拥有一个管理我的环境的 git 存储库。我已经为特定任务编写了一组 lwrp。这些 lwrps 内部依赖于许多社区食谱。
我的每本食谱都有一个 Berksfile,我在其中指定依赖关系解析。在我的存储库的根文件夹中,我有一个主 Berksfile,其中列出了我想要从我的存储库中获得的所有食谱。
我现在想要的是,当我从根位置进行 berks 安装时,它应该获取我的说明书,然后解析它们以从每个说明书中找到单独的 berks 文件并解决所有依赖项。但是,它的行为并非如此。
有人对此有任何想法吗?这是 Berks 如何工作的常见场景吗?还是我遗漏了一些东西以致无法解决依赖关系?
提供更多信息:我的食谱有这个berksfile
并且 apache spark 内部依赖于
berkshelf - 如何在不更新其依赖项的情况下更新 [cookbook]?
例如:
现在,我对 my_nagios 食谱做了一点改动,我只想在没有 nagios、nrpe、python 等依赖项的情况下更新自己,因为我确信我不需要升级依赖手册的版本。
以下命令将返回“Resolving cookbook dependencies...”,并且对 berksfiel.lock 没有任何更改。如果我删除参数“-o my_nagios”,它将更新 berksfile.lock 及其所有依赖项。
总之,如何在不更新其依赖项的情况下更新 [cookbook]?任何帮助都感激不尽。
ps 我用谷歌,但找不到答案。
ruby - Berks 安装不包括 ruby 片段
这是我的berksfile:
我应该能够做到这一点https://www.sethvargo.com/berksfile-magic/ 但是 berks 只是忽略了该代码片段,我看不到 berks 的任何输出,它甚至试图运行它,它只是说“无法找到需求的解决方案:”
如果我像这样包含它们,它会起作用:
chef-infra - 'chef generate app' 生成的项目根目录中的 .kitchen.yml 文件的用途是什么?
我有一个旧的单一食谱库,旨在使用 Vagrant 创建一个完整的开发环境。我想根据最佳实践“重构”它。我想拆分大型食谱,制作社区食谱的适当包装食谱,并添加可由 Testkitchen 运行的 InSpec 测试,以检查所有内容是否按预期安装。
我决定从头开始,看看通过执行会创建什么骨架chef generate app some_name
。此命令生成以下文件集:
我注意到.kitchen.yml
在根目录中创建。由于现在建议为每本食谱创建单个 VCS 存储库,.kitchen.yml
在根目录中对我来说看起来有点奇怪。但另一方面,将用于测试我所有的说明书及其测试套件的 VM 配置保留在单个根文件中可能是一个好主意。
然后我决定检查我是否能够从 root 运行所有项目说明书的测试.kitchen.yml
。我制作了一个用于安装 Java 的简单包装食谱,其中包含depends 'java'
食谱metadata.rb
和准备好的 root .kitchen.yml
。
kitchen test
我从根本上面临的问题是社区食谱java
在厨房测试执行时没有得到解决。我试图添加Barksfile
到食谱目录中,但没有帮助(仍然未知java
的依赖关系)。看起来 Kitchen 仅适用于相对于.kitchen.yml
. 然后我尝试Berksfile
在项目根目录中添加,当然,它没有工作,因为它也在metadata.rb
根目录中搜索。
所以看起来.kitchen.yml
在项目根目录中为所有食谱设置一个单一的不是一个好主意。那为什么会生成呢?我也不喜欢我必须.kitchen.yml
在每本食谱的目录中编写几乎相同的内容,但看起来我别无选择,如果想从metadata.rb
.
如果您还可以建议我一个很好的示例 repo 来实现包装器/角色-cookbooks + 测试的最佳实践,那就太好了。我的项目很简单:它只是创建一些用户、准备环境并安装大量服务,主要使用包装好的社区食谱。我想将它保存在单个仓库中并使用 Kitchen + InSpec 进行测试
docker - Berk 对厨房 ci 的依赖
我无法弄清楚如何让我的食谱与厨房 ci 正确运行。这是我编写并执行的:
厨房.yml
Berksfile 在我的食谱文件夹中:
我运行的命令:
我怎么会得到这个错误?而 group node['nginx']['group'] 变量在已售出的 nginx 食谱中得到了很好的定义。
谢谢