【问题标题】:How to use chef to install JDK8 on RHEL如何使用chef在RHEL上安装JDK8
【发布时间】:2015-06-05 03:09:52
【问题描述】:

我一直在寻找帮助: https://github.com/agileorbit-cookbooks/java。我不知道如何运行这本食谱中的食谱。

我对厨师完全陌生。

我已经阅读了基本的厨师教程,我知道这样做:

chef-apply $recipe.rb

我需要帮助来创建要为 JDK 7/8 安装的配方。我不需要食谱。我已经在我的机器上设置了 chef-dk,并尝试了他们学习网站上的一些示例。

编辑#1:

查看 Java-Cookbook,我没有遵循 README 文件。我无法运行 JDK-8 安装的配方。

我正在尝试如下:

  • cd 进入 java 食谱
  • cd 进入食谱文件夹
  • 厨师申请 $recipe-name.rb
  • 这给了我错误

我想做什么:

  • 使用来自互联网的 chef 安装 JDK8

我已经尝试了以下列出的方法:

我尝试这样做:

chef-apply default.rb

我收到以下错误:

FATAL : Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
FATAL : NoMethodError: undefined method '[]' for nil"NilClass

'chef-stacktrace.out' 包含:

【问题讨论】:

  • 我完全不明白你在问什么......你谈论 java 食谱然后说你不需要食谱。
  • @Tensibai - 一旦我下载了它,我正试图弄清楚如何从 java 食谱运行食谱。请帮忙。
  • @Tensibai - 我添加了一个编辑,我希望这能让我更清楚我卡在哪里。

标签: chef-infra openjdk chef-recipe


【解决方案1】:

引用 java 食谱的自述文件(你提供的链接),我真的不确定你在哪里卡住:

您必须使用以下内容制作包装食谱:

  • 元数据.rb

    [...] # Usual data in a cookbook
    
    depends "java"
    
  • 属性/default.rb

    default["java"]["install_flavor"] = "oracle"
    default["java"]["jdk_version"] = "7"
    default['java']['jdk']['7']['x86_64']['url'] = "http://you_local_host/package.tgz" # Oracle does not allow to directly download the jdk
    
  • 食谱/default.rb

    include_recipe "java"
    

然后将此食谱添加到您的目标运行列表中。

最好从学习材料here 开始,了解什么是运行列表和包装食谱。

【讨论】:

  • 感谢您的帮助。这是否意味着我必须创建另一个食谱,并在其中使用 java 食谱?这是包装器的概念吗?
  • 是的,就是这个想法,你可以修改原来的食谱,但是当你想升级它时它很快就会变得一团糟,在我看来,包装器是最好的方式(谷歌围绕这个,你'将找到博客文章和示例)
  • 感谢您的帮助。我会回来发表评论 - 如果我需要更多帮助。谢谢。
  • 所以我尝试的 EDIT#1 不是正确的方法,对吗?或者你认为这也应该有效。
  • 查看马克的链接,他对另一个问题的回答要完整得多,应该对你有所帮助,但我认为你真的应该用更简单的任务来练习厨师(Java 安装涉及系统范围内的许多事情)在熟悉厨师的工作方式之前。如果尚未完成,请尝试 learn.chef.io 作为起点。
猜你喜欢
  • 2021-05-15
  • 2021-10-14
  • 2014-10-28
  • 2018-11-13
  • 2020-07-20
  • 1970-01-01
  • 1970-01-01
  • 2011-09-20
  • 2018-04-20
相关资源
最近更新 更多