以下全ても●みち風に書いたメモ
皆さんおはようございます。
ryurock@githubです。
フガポン(24歳)
opscode http://docs.opscode.com/resource_yum.html
のyum_packageの項目にgroupinsallが書いてありませんでした。
どうやったらgroupinstallできますか?
俺が知りたい
レシピ作成時間
約3分
環境
- mac-osx(ホストOS)
- centos6.4-x86-minimal (ゲストOS)
事前準備に必要なもの
- virtualbox
- ruby 1.9.3p327 (rbenv) ※1.9.3-p286でもいけた
- chef ※入れていない方は
gem install chef
とshellから打ってください - vagrant ※入れていない方はchef-soloで使用するvirtualbox(vagrant)をveeweeを使用して作るを参考に入れておいてください
- git
- knife-soloのセットアップ ※やっていない方は今日作りたくなる簡単cookbook [Kim'sキッチン] yumsetup(yum-fastestmirrorにyum update添え)の前準備を参考にしてやっておいてください。
参考にしたサイト(書籍)
[その1] レシピ名を決める
今回のレシピ名はdevtoolsで行きましょう
cd chef-repo
knife cookbook create devtools -o site-cookbooks
[その2] chef-repo/devtools/recipes/default.rbを編集
chef-repo/yumsetup/recipes/default.rb
execute "devtools" do
user "root"
command 'yum -y groupinstall "Development Tools"'
action :run
end
ruby知らなくてもわかる内容ですね。
Chef Resourcesを使用した
で実行します。
[その3]yumsetup cookbookをリモート側で実行する設定を追加
vim chef-repo/nodes/{接続名称(任意)}.json
{"run_list":[
"devtools"
]}
run_listをすでに記載している場合は追記でお願いします。
[その4] リモート側に実行依頼をする
cd chef-repo
knife solo cook {接続名称(任意)}
Starting Chef Client, version 11.4.0
Compiling Cookbooks...
Converging 3 resources
Recipe: devtools::default
* execute[devtools] action run
- execute yum -y groupinstall "Development Tools"
今日はこれで決まり「devtools」の完成です
ちなみにcommand以外でも
chef-repo/devtools/recipes/default.rb
bash "devtools" do
user "root"
code <<-EOH
yum -y groupinstall "Development Tools"
EOH
end
でも行けます。けどきっとresource -script-はもう少し複雑な処理(分岐とか、インストール以外)の場合に用いるものだと思います。