Io uso spesso i ruoli per gli attributi override.
Dire che ho due libri di cucina, uno per il mio sweet_rails_app, uno per installare/configurare apache e il passeggero per installare la mia app in cima.
Nel mio sweet_rails_app_cookbook io possa avere:
# coding: UTF-8
# Cookbook Name:: sweet_rails_app
# Recipe:: default
include_recipe 'apache_passenger_cookbook::default'
... # recipe code
Tutti gli attributi di entrambi i libri di cucina fissati a livello predefinito in entrambe libro di cucina.
# coding: UTF-8
name 'sweet_rails_app'
description 'Deploys Sweet Rails App'
run_list "recipe[sweet_rails_app_cookbook]"
base_dir = '/opt/sweet_rails_app'
override_attributes(
sweet_rails_app: {
base_dir: base_dir,
... # more override attributes
},
apache_passenger: {
document_root: base_dir
}
)
poi il ruolo è tutto ciò che ho bisogno di aggiungere alla run_list per il nodo. Questo ha anche il vantaggio aggiuntivo di controllare l'ordine di esecuzione dei due libri di cucina.
fonte
2013-04-02 05:20:42
Funziona solo per server Chef? Non sembra funzionare per me su Chef solo, usando Chef 12.0.3. – Noz
Grazie mille per questo, aveva bisogno di alcune informazioni simili per ignorare gli attributi sul ricettario chef_nginx. – WhyAyala