
Ich habe sehr wenig Erfahrung mit Windows. Ich versuche, Chef so einzurichten, dass ich als Entwickler bei jeder Windows-Installation auf einem Computer nicht jede Menge „Ersteinrichtungsaufgaben“ doppelt ausführen muss (Windows-Subsystem für Linux aktivieren, Chocolatey installieren, VS Code und FireFox installieren …).
Leider kann ich hierzu keinerlei Dokumentation finden.[1]
Ich habe „Chef Workstation“ (das „ChefDK“ für lokale Rechner ersetzt zu haben scheint, aber weitgehend undokumentiert und vermutlich neu ist?) installiert, indem ich das Windows-Installationsprogramm manuell heruntergeladen und ausgeführt habe.
Ich habe den in einem alten Tutorial vorgeschlagenen Befehl ausgeführt
chef generate cookbook first_cookbook
, der ansonsten nicht hilfreich war (da er sich größtenteils auf etwas namens „Knife“ für gehostete Installationen bezieht, glaube ich?)Die Ausgabe dieses Befehls legte nahe, den Befehl „Delivery“ (der anscheinend wieder undokumentiert ist, es sei denn, ich nehme an einem „Kurs“ des Chef-Teams teil?) zu prüfen, um das Kochbuch auszuführen. Nach ein wenig Experimentieren sieht es so aus, als müsste ich
delivery local acceptance
das Kochbuch auf meinem Laptop zum Laufen bringen; aber das wirft eine Reihe von Fehlern in Bezug auf Vagrant auf (was laut keinem Tutorial, keiner Dokumentation oder keiner Nachricht eine Voraussetzung für Chef ist!?)ELLIOTTCABLE@Xenia-Windows ~/first_cookbook (master) λ delivery local acceptance Chef Delivery Running Acceptance Stage Running Provision Phase -----> Starting Kitchen (v1.24.0) >>>>>> ------Exception------- >>>>>> Class: Kitchen::ShellOut::ShellCommandFailed >>>>>> Message: Expected process to exit with [0], but received '1' ---- Begin output of vagrant --version ---- STDOUT: STDERR: 'vagrant' is not recognized as an internal or external command, operable program or batch file. ---- End output of vagrant --version ---- Ran vagrant --version returned 1 >>>>>> ---------------------- >>>>>> Please see .kitchen/logs/kitchen.log for more details >>>>>> Also try running `kitchen diagnose --all` for configuration Phase failed with exit code (1)!
Wenn ja, ist das für mich ein Problem und ich weiß nicht, wie ich es umgehen soll – mein Endziel ist natürlich, neue Maschinen in zwei Schritten einzurichten (Chef installieren, Skript aus dem Internet ausführen). Vagrant ist eine ziemlich große Voraussetzung!
Andere Tutorials schlagen die Verwendung
chef-client -z
für einen ähnlichen Zweck vor. Auch das klappt nicht – weder im von „chef generate“ erstellten Verzeichnis noch im übergeordneten Verzeichnis scheint das Kochbuch, das ich gerade generiert habe, gefunden zu werden:Missing Cookbooks: ------------------ No such cookbook: first_cookbook Expanded Run List: ------------------ * first_cookbook
tl;drkann mich jemand durch die genauen Schritte führen, um A. Chef für die lokale Verwendung zu installieren, B. ein Skript zu erstellen, das ich als Git-Version verwenden kann, um beispielsweise FireFox zu installieren, und C. das sofort auf der Maschine auszuführen, auf der ich es gerade eingegeben habe?
(Vielen Dank im Voraus für eure Hilfe, ich bin völlig verloren! Ich habe mich in meinen 15 Jahren der Softwareentwicklung noch nie so sehr wie ein Anfänger gefühlt. ;_;)
- Es sieht so aus, als wäre Chef seit meinem letzten Blick vor Jahren extrem „unternehmensmäßig“ geworden. Wenn ich eine „Webinar“-Lernsitzung möchte, um vier Stunden lang ihre Meinungen darüber zu erfahren, wie DevOps durchgeführt werden sollte, wie man ihren gehosteten Dienst verwendet oder wie man ein extrem kompliziertes Automatisierungssystem einrichtet, bei dem mehrere Server und Clients sich gegenseitig konfigurieren, bin ich gut bedient. Wenn ich buchstäblich nur Chef installieren und es so konfigurieren möchte, dass ein einzelnes Chocolatey-Paket installiert wird, ... habe ich anscheinend Pech, denn dieser Prozess scheint völlig undokumentiert zu sein, außer in veralteten Blog-Posts aus dem Jahr 2011. :P