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

标签 chef-infra java chef-recipe

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

我对 Chef 完全陌生。

我已经完成了基本的 Chef 教程,我知道该怎么做:

chef-apply $recipe.rb

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

编辑#1:

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

我正在尝试如下:

  • cd 进入 java 说明书
  • cd 进入菜谱文件夹
  • Chef 应用$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”包含:

enter image description here

最佳答案

我真的不确定你被困在哪里,引用java Cookbook的自述文件(你提供的链接):

你必须制作一本包装 Recipe :

  • 元数据.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
    
  • Recipe/default.rb

    include_recipe "java"
    

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

最好的想法是从学习 Material here 开始关于什么是运行列表以及关于包装器 Recipe 。

关于chef-infra - 如何在RHEL上使用chef安装JDK8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29374389/

相关文章:

chef-infra - 我应该使用 include_recipe 还是将配方添加到 run_list 中?

chef-infra - 跑 Knife 在地址部分给了我双@

java - 使用 EasyMock 和 Mockito 模拟 void 方法

java - 如何在单例实例中调用接口(interface)

chef-infra - 用 Chef 重命名文件的最佳方法

chef-infra - 如何在 Chef 服务器上查看 Recipe ?

ruby - 在 Chef Recipe 中部署 Java 应用程序

linux - Knife 工问题

macos - 权限错误通过 osx 上的 vagrant 通过 Chef 通过 Homebrew 软件安装 ruby

java - Java 正则表达式中的奇怪行为