# gem install chef --no-rdoc --no-ri
# gem install knife-solo --no-rdoc --no-ri
# rbenv rehash
$ git clone https://github.com/opscode/chef-repo.git
$ mkdir ~/chef-repo/.chef
$ mkdir ~/tmp
$ vi ~/chef-repo/.chef/solo.rb
file_cache_path "/home/chef/tmp/chef-solo" cookbook_path "/home/chef/chef-repo/cookbooks"
$ cd chef-repo
$ rake new_cookbook COOKBOOK=vim
vim ├── README.md ├── attributes │ └── default.rb # レシピやテンプレートで使う値を記述する ├── definitions ├── files │ └── default ├── libraries ├── metadata.rb ├── providers ├── recipes │ └── default.rb # ここに自動実行する命令を記述する ├── resources └── templates └── default # 設定ファイルなどのテンプレートをおく
$ vi chef-repo/cookbooks/vim/recipes/default.rb
package "vim" do action :install end rcfile = File.join(node[:vim][:dir], ".vimrc") template rcfile do source "vimrc.erb" end file rcfile do owner node[:vim][:user] end
$ vi chef-repo/cookbooks/vim/templates/default/vimrc.erb
syntax on filetype on filetype indent on filetype plugin on set autoindent set expandtab set number set nobackup set backspace=indent,eol,start set tabstop=2 set softtabstop=2 set shiftwidth=2
$ vi chef-repo/cookbooks/vim/attributes/default.rb
default[:vim][:dir] = "/home/chef" default[:vim][:user] = "chef"
# chef-solo -c /home/chef/chef-repo/.chef/solo.rb -j /home/chef/chef-repo/.chef/chef.json
Starting Chef Client, version 11.4.0 Compiling Cookbooks... Converging 3 resources Recipe: vim::default * package[vim] action install - install version 7.2.411-1.8.el6 of package vim-enhanced * template[/home/chef/.vimrc] action create - create template[/home/chef/.vimrc] --- /tmp/chef-tempfile20130304-2815-15yom5c 2013-03-04 17:03:30.662393565 +0900 +++ /tmp/chef-rendered-template20130304-2815-1mvybc2 2013-03-04 17:03:30.659124571 +0900 @@ -0,0 +1,15 @@ +syntax on +filetype on +filetype indent on +filetype plugin on + +set autoindent +set expandtab +set number +set nobackup + +set backspace=indent,eol,start +set tabstop=2 +set softtabstop=2 +set shiftwidth=2 + * file[/home/chef/.vimrc] action create - change owner from 'root' to 'chef' Chef Client finished, 3 resources updated
最新コメント