Hier ist ein Beispiel für ein Arbeitsrezept, das eine Reihe von Website-Namen durchläuft und sie in IIS mit der Funktion createIisWebsite() erstellt.Wie modularisieren Sie ein Chefrezept?
def createIisWebsite(websiteName)
iis_site websiteName do
protocol :http
port 80
path "#{node['iis']['docroot']}/#{websiteName}"
host_header "#{websiteName}.test.kermit.a-aws.co.uk"
action [:add,:start]
end
end
In unserer aktuellen Lösung werden diese Daten an anderer Stelle gespeichert und über eine Web-API abgerufen.
Jetzt möchte ich die Funktion createIisWebsite() aus mehreren Rezepten innerhalb dieses Kochbuchs aufrufen können.
Ich habe versucht, es in ein Hilfsmodul (Bibliothek) zu werfen. Dort kann ich nicht den Verweis auf iis_site zum Arbeiten bekommen.
Ich habe versucht, die Funktion auf default.rb
zu verschieben und dann Include_recipe ":: default". Das scheint auch nicht zu funktionieren.
ich eine „Kann nicht eine Ressource für createIisWebsite auf Windows-Version finden 6.2.9200“
Der Grund, warum ich diesen Ansatz nehme, weil ich ein Rezept enthält die Liste der Websites pro Cluster von Web-Servern haben möchten . Ich habe das Gefühl, dass ich nicht die Best-Practice-Route nehme.
Irgendwelche Ideen?
Ohai! Haben Sie jemals eine Lösung für dieses Problem gefunden? Hat eine der Antworten geholfen? Bitte vergiss nicht, einen als korrekt zu markieren :) – sethvargo