Chefã§Javaãã¤ã³ã¹ãã¼ã«
[root@srv001 chef-repo]# cd ~/chef-repo # ã¬ã·ãã使ããã [root@srv001 chef-repo]# knife cookbook create java -o site-cookbooks # ä»åã¯Downloadããããã±ã¼ã¸ããã¤ã³ã¹ãã¼ã«ã宿½ããã # Downloadããããã±ã¼ã¸ãã¬ã·ãã®æå®ã®ãã£ã¬ã¯ããªï¼filesï¼ã«ä¿åããã [root@srv001 chef-repo]# mv ~/jdk-7u51-linux-x64.rpm site-cookbooks/java/files/default/ # ãã¡ã¤ã«ã転éããããã«å®è¡ããã [root@srv001 chef-repo]# knife solo prepare root@localhost
ããã±ã¼ã¸åãã¤ã³ã¹ãã¼ã«ãã£ã¬ã¯ããªãªã©ã夿°å®ç¾©ããã
[root@srv001 chef-repo]# vi site-cookbooks/java/attributes/default.rb
# java package name default['java']['package_name'] = "jdk-7u51-linux-x64.rpm" # java src default['java']['src'] = "/usr/local/src/" # java version default['java']['ver'] = "" # java home default['java']['home'] = "/usr/local/java/"
ã¬ã·ãã使ããã
[root@srv001 chef-repo]# vi site-cookbooks/java/recipes/default.rb
# ãã¡ã¤ã«ãæå®ã®å ´æã«é ç½®ããã cookbook_file "#{node['java']['src']}#{node['java']['package_name']}" do source "#{node['java']['package_name']}" mode 0744 end # javaãRPMã§ã¤ã³ã¹ãã¼ã«ããã package "java" do action :install source "#{node['java']['src']}#{node['java']['package_name']}" provider Chef::Provider::Package::Rpm # options "--prefix=#{node['java']['home']}" end
ã¬ã·ããå®è¡ããã
# run_listã«è¿½å ããã [root@srv001 chef-repo]# vi nodes/localhost.json [root@srv001 chef-repo]# knife solo cook root@localhost -i ~/.chef/s3test.pem -o java