Chef - Foodcritic
Ecrire de bons livres de cuisine sans aucun problème est une tâche assez difficile. Mais il existe des moyens qui peuvent aider à identifier les écueils. Le marquage dans Chef Cookbook est possible. Foodcritic est l'un des meilleurs moyens de l'archiver, qui tente d'identifier les problèmes possibles avec la logique et le style des livres de cuisine.
Configuration Foodcritic
Step 1 - Ajouter la gemme Foodcritic.
[email protected]:~/chef-repo $ subl Gemfile
source 'https://rubygems.org'
gem 'foodcritic', '~>2.2.0'
Step 2 - Installez la gemme.
[email protected]:~/chef-repo $ bundle install
Fetching gem metadata from https://rubygems.org/
...TRUNCATED OUTPUT...
Installing foodcritic (2.2.0)
Gemme Foodcritic
Step 1 - Exécutez Foodcritic sur le livre de cuisine.
[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 - Générer un rapport détaillé.
[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éthode de travail
Foodcritic définit un ensemble de règles et vérifie les agents de recette, chacun d'eux. Il est livré avec plusieurs règles concernant divers domaines: styles, connectivité, attributs, chaîne, probabilité, recherche, services, fichiers, métadonnées, etc.