Chef infra 如何使用chef在RHEL上安装JDK8

Chef infra 如何使用chef在RHEL上安装JDK8,chef-infra,openjdk,chef-recipe,Chef Infra,Openjdk,Chef Recipe,我一直在寻找帮助: . 我不知道如何使用这本食谱中的食谱 我对厨师完全陌生 我已经完成了基础厨师教程,我知道要做到这一点: chef-apply $recipe.rb 我需要帮助为JDK 7/8创建安装配方。我不需要食谱。我已经在我的机器上安装了chef dk,并从他们的学习网站上试用了一些示例 编辑#1: 查看Java烹饪书,我没有遵循自述文件。我无法运行JDK-8安装的配方 我的尝试如下: 将cd放入java烹饪书中 将cd放入recipes文件夹 厨师长申请$recipe-name.r

我一直在寻找帮助: . 我不知道如何使用这本食谱中的食谱

我对厨师完全陌生

我已经完成了基础厨师教程,我知道要做到这一点:

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

编辑#1:

查看Java烹饪书,我没有遵循自述文件。我无法运行JDK-8安装的配方

我的尝试如下:

  • 将cd放入java烹饪书中
  • 将cd放入recipes文件夹
  • 厨师长申请$recipe-name.rb
  • 这给了我错误
我想做的是:

  • 从internet使用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烹饪书的自述(您提供的链接),我真的不确定您的处境:

你必须用以下材料制作包装食谱:

  • 元数据.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
    
    include_recipe "java"
    
  • recipes/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
    
    include_recipe "java"
    
然后将本食谱添加到您的目标跑步列表中


最好的办法是从关于什么是运行列表和包装食谱的学习材料开始。

我根本不明白你在要求什么……你谈论java食谱,然后说你不需要食谱。@Tensibai-我正在试图弄清楚如何从java食谱中运行食谱,一旦我下载了它。请帮忙。@Tensibai-我已经添加了一个编辑,我希望这能让我更清楚地了解我的处境。可能是重复的谢谢你的帮助。这是否意味着我必须创建另一本食谱,并在其中使用java食谱?这是包装器的概念吗?是的,这是一个想法,你可以修改原始的烹饪书,但当你想要升级它时,它很快就会变成一团乱麻,在我看来,包装器是最好的方式(谷歌围绕这个,你会找到博客文章和例子)谢谢你的帮助。如果我需要更多的帮助,我会回来发表评论。谢谢。所以我尝试的编辑1不是正确的方法,对吗?或者你认为这应该也行吗?参见mark的链接,他对另一个问题的回答要完整得多,应该会对你有所帮助,但我认为你真的应该先用一个更简单的任务来练习chef(Java安装涉及许多系统范围的事情),然后才能熟悉chef的工作方式。如果尚未完成,则尝试作为起点。