Czy powinienem użyć include recipe lub dodać przepis, aby uruchomić listę?
Próbuje znaleźć najlepsze podejście do dużego projektu. Kiedy należy dodawać przepisy do przepisu używając include_recipe
w przeciwieństwie do dodawania przepisu do run_list
? Czy istnieje dobra zasada?
2 answers
Jak widzę, każdy przepis powinien być w stanie uruchomić na pustej maszynie samodzielnie. Więc jeśli jakiś przepis a zależy od przepisu B Uruchom przed nim, zawsze używam include_recipe.
Na przykład: 2 książki kucharskie, tomcat i java. Tomcat wymaga Javy.
Gdy jakiś użytkownik chce zainstalować tomcat, może nie mieć pojęcia, że w rzeczywistości wymaga innej książki kucharskiej, aby ją zainstalować. Uruchamia przepis tomcat i albo zawiedzie z jakimś zupełnie nieprzydatnym Komunikatem o błędzie, takim jak " No java found " lub co gorsza - udaje się, ale wtedy oczywiście użytkownik nie może uruchomić Tomcata, ponieważ nie ma zainstalowanej Javy.
Jednak gdy w tomcat cookbook znajduje się linia
include_recipe 'java'
, która również wymaga liniidepends 'java'
w metadanych, użytkownik podczas próby instalacji tomcat zobaczy zrozumiały komunikat o błędzie: "the cookbook java not found". W ten sposób użytkownik może pobierać zależności samodzielnie (lub nawet za pomocą jakiegoś automatycznego narzędzia) bez uruchamiania przepisów, ale czytania metadane.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-13 19:45:19
Cała logika powinna być kontrolowana za pomocą list run. Książki kucharskie, spróbuj, jak mogą, nie są tak wielokrotnego użytku, jak ludzie chcieliby myśleć. Wszystko, co include_recipe
robi, to dodawanie kolejnego miejsca, w którym użytkownicy muszą szukać, aby dowiedzieć się, co zrobi lista uruchomień, więc zrób to wyraźnie i umieść ją na liście uruchomień.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-23 20:05:36