Chef - Foodcritic
Escribir buenos libros de cocina sin ningún problema es una tarea bastante difícil. Pero hay formas que pueden ayudar a identificar los escollos. Es posible marcar en Chef Cookbook. Foodcritic es una de las mejores formas de archivarlo, que intenta identificar posibles problemas con la lógica y el estilo de los libros de cocina.
Configuración de Foodcritic
Step 1 - Añadir joya Foodcritic.
[email protected]:~/chef-repo $ subl Gemfile
source 'https://rubygems.org'
gem 'foodcritic', '~>2.2.0'
Step 2 - Instala la gema.
[email protected]:~/chef-repo $ bundle install
Fetching gem metadata from https://rubygems.org/
...TRUNCATED OUTPUT...
Installing foodcritic (2.2.0)
Gema Foodcritic
Step 1 - Ejecute Foodcritic en el libro de cocina.
[email protected]:~/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 - Generar un informe detallado.
[email protected]:~/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|
Método de trabajo
Foodcritic define un conjunto de reglas y comprueba los agentes de recetas, cada uno de ellos. Viene con múltiples reglas en relación con varias áreas: estilos, conectividad, atributos, cadena, probabilidad, búsqueda, servicios, archivos, metadatos, etc.