我是Chef的新手,想要在Windows机器上安装Java.
我正在使用一个随时可用的Java手册.
所以我写了一个包装食谱,正如另一个问题所述.
我添加了java-cookbook-dependencies并使用了以下属性
normal['java']['jdk_version'] = '7'
normal['java']['install_flavor'] = 'windows'
normal['java']['windows']['url'] = 'http://myurl/java/jdk-7u75-windows-x64.exe'
Run Code Online (Sandbox Code Playgroud)
因此,在上传食谱并将其添加到运行列表之后,Java已安装并可用.但每当我运行chef-client时,它都会尝试再次从文件中安装JDK.
我是否缺少一些配置来检查已安装的版本?根据我的理解,这应该在给定的食谱中完成,但我不确定是不是.
我也尝试声明一个包名,但这并没有改变任何东西.
normal['java']['windows']['package_name'] = 'OracleJDK7u75'
Run Code Online (Sandbox Code Playgroud)
这里用刀开始厨师客户后的(相关)输出:
WindowsPC [2015-04-10T14:38:06+02:00] INFO: Processing remote_file[c:/chef/cache/jdk-7u75-windows-x64.exe]action create (java::windows line 45)
WindowsPC [2015-04-10T14:38:08+02:00] INFO: Processing windows_package[OracleJDK7u75] action install (java::windows line 71)
WindowsPC [2015-04-10T14:38:09+02:00] INFO: Installing windows_package[OracleJDK7u75] version latest
WindowsPC [2015-04-10T14:38:09+02:00] INFO: Starting installation...this could take awhile.
WindowsPC
WindowsPC ================================================================================
WindowsPC Error executing action `install` on resource 'windows_package[OracleJDK7u75]'
WindowsPC ================================================================================
WindowsPC
WindowsPC Mixlib::ShellOut::ShellCommandFailed
WindowsPC …Run Code Online (Sandbox Code Playgroud) 我有语法错误,我不确定如何解决它们.在角色文件中,我定义了以下内容:
default_attributes(
'jdk' => {
'version' => '1.8.0_31'
},
'java' => {
'home' => '/usr/lib/jvm/jdk1.8.0_31'
},
)
Run Code Online (Sandbox Code Playgroud)
我尝试在下面使用java home,但它无法运行
execute "update_alt_java" do
command "update-alternatives --install "/usr/bin/java" "java" "#{node['java']['home']}/bin/java" 1"
action :creates
end
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
SyntaxError
-----------
/etc/chef/src/cookbooks/jdk/recipes/default.rb:50: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '('
...tives --install "/usr/bin/java" "java" "#{node['java']['home...
... ^
/etc/chef/src/cookbooks/jdk/recipes/default.rb:50: syntax error, unexpected tIDENTIFIER, expecting keyword_end
...--install "/usr/bin/java" "java" "#{node['java']['home']}/bi...
Run Code Online (Sandbox Code Playgroud)