2015-03-31 41 views
1

我一直在寻求帮助: https://github.com/agileorbit-cookbooks/java。我不知道如何从这本食谱中运行食谱。如何使用厨师在RHEL上安装JDK8

我对厨师是全新的。

我已经通过基本厨师教程走了,我知道做到这一点:

chef-apply $recipe.rb 

我需要创建一个配方,以安装JDK 7/8的帮助。我不需要一本食谱。我已经在我的机器上安装了chef-dk,并在他们的学习网站上尝试了几个例子。

编辑#1:

纵观Java的食谱,我不明白的README文件。我无法运行JDK-8安装的配方。

我试图如下:

  • CD到Java菜谱
  • 光盘放入配方文件夹
  • 厨师申请$偏方name.rb
  • 这是给我错误

我想要做什么:

  • 使用厨师从互联网

我曾尝试下面列出以下几点安装JDK8:

我尝试这样做:

chef-apply default.rb 

我收到以下错误:

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

的“厨师-stacktrace.out”载:

enter image description here

+0

我不明白你在问什么......你谈论java食谱,然后说你不需要一本食谱。 – Tensibai 2015-04-01 15:41:42

+0

@Tensibai - 我试图弄清楚如何从java食谱中运行食谱,一旦我下载它。请帮助。 – sudhishkr 2015-04-06 19:04:53

+0

@Tensibai - 我添加了一个编辑,我希望这可以让我更清楚地知道我卡在哪里。 – sudhishkr 2015-04-07 18:21:16

回答

2

我真的不确定你卡住,引用的自述文件的Java菜谱(链接给你的地方):

你必须做一个包装食谱有:

  • metadata.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 
    
  • 食谱/默认值。RB

    include_recipe "java" 
    

然后这个食谱添加到您的目标运行列表。

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

+0

感谢您的帮助。这是否意味着我必须创建另一本食谱,并在其中使用java食谱?这是包装的概念吗? – sudhishkr 2015-04-07 18:22:34

+0

是的,这是一个想法,你可以修改原始的食谱,但当你想升级它时,它会很快变成一团糟,包装是我认为最好的方式(谷歌围绕这个,你会发现博客文章和例子) – Tensibai 2015-04-07 18:47:18

+0

感谢您的帮助。我会回来评论 - 如果我需要更多的帮助。谢谢。 – sudhishkr 2015-04-07 18:48:51