😀

今日作りたくなる簡単cookbook [Kim'sキッチン] devtools(yum groupinstall )

2022/11/28に公開

以下全ても●みち風に書いたメモ

皆さんおはようございます。
ryurock@githubです。

フガポン(24歳)

opscode http://docs.opscode.com/resource_yum.html
のyum_packageの項目にgroupinsallが書いてありませんでした。
どうやったらgroupinstallできますか?

俺が知りたい

レシピ作成時間

約3分

環境

  • mac-osx(ホストOS)
  • centos6.4-x86-minimal (ゲストOS)

事前準備に必要なもの

参考にしたサイト(書籍)

[その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-はもう少し複雑な処理(分岐とか、インストール以外)の場合に用いるものだと思います。

Discussion