Chef - Kritikus Makanan
Menulis buku masak yang bagus tanpa masalah adalah tugas yang cukup sulit. Tetapi ada cara yang dapat membantu dalam mengidentifikasi jebakan. Penandaan di Chef Cookbook dimungkinkan. Foodcritic adalah salah satu cara terbaik untuk mengarsipkannya, yang mencoba mengidentifikasi kemungkinan masalah dengan logika dan gaya buku masak.
Pengaturan Foodcritic
Step 1 - Tambahkan permata Foodcritic.
vipin@laptop:~/chef-repo $ subl Gemfile
source 'https://rubygems.org'
gem 'foodcritic', '~>2.2.0'
Step 2 - Pasang permata.
vipin@laptop:~/chef-repo $ bundle install
Fetching gem metadata from https://rubygems.org/
...TRUNCATED OUTPUT...
Installing foodcritic (2.2.0)
Permata Foodcritic
Step 1 - Jalankan Foodcritic di buku masak.
vipin@laptop:~/chef-repo $ foodcritic ./cookbooks/<Cookbook Name>
FC002: Avoid string interpolation where not required: ./cookbooks/
mysql/attributes/server.rb:220
...TRUNCATED OUTPUT...
FC024: Consider adding platform equivalents: ./cookbooks/<Cookbook Name>/
recipes/server.rb:132
Step 2 - Buat laporan rinci.
vipin@laptop:~/chef-repo $ foodcritic -C ./cookbooks/mysql
cookbooks/<cookbook Name>/attributes/server.rb
FC002: Avoid string interpolation where not required
[...]
85| default['<Cookbook Name>']['conf_dir'] = "#{mysql['basedir']}"
[...]
cookbooks/<Cookbook Name>/recipes/client.rb
FC007: Ensure recipe dependencies are reflected in cookbook
metadata
40| end
41|when "mac_os_x"
42| include_recipe 'homebrew'
43|end
44|
Metode Kerja
Foodcritic menetapkan seperangkat aturan dan memeriksa agen resep, masing-masing dari mereka. Muncul dengan beberapa aturan tentang berbagai area: gaya, keterhubungan, atribut, string, probabilitas, pencarian, layanan, file, metadata, dan sebagainya.