Ich versuche, ein Kochbuch zu testen, das auf drei anderen lokalen Kochbüchern abhängt. Meine Verzeichnisstruktur sieht wie folgt aus:Test-Küche wird nicht auf lokale Kochbücher
/cookbooks/
cookbook_test/
recipes
templates
metadata.rb
cookbook_dep1/
cookbook_dep2/
cookbook_dep3/
Meine Metadatendatei in dem Kochbuch Ich versuche einfach zu testen (cookbook_test) die anderen drei Kochbuch Abhängigkeiten erwähnt wie:
depends cookbook_dep1
depends cookbook_dep2
depends cookbook_dep3
jedoch, wenn kitchen converge default-ubuntu-1204
läuft Ich bekomme Folgendes:
[2014-03-03T18:05:13+00:00] ERROR: Cookbook cookbook_devp1 not found. If you're loading cookbook_devp1 from another cookbook, make sure you configure the dependency in your metadata
[2014-03-03T18:05:13+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
Das einzige, was ich online finden konnte, ist, dass ich berkshelf verwenden sollte. Gibt es keine andere Möglichkeit, lokale Kochbücher nur mit Testküchen zu referenzieren?
Ich sehe nicht, wie das funktionieren würde. Nach opscode sollte ein Haupt-Repository als Container für alle Kochbücher, Rollen, Databags und Umgebungscode dienen. https://github.com/opscode/chef-repo erklärt dies besser. Alle meine Kochbücher sind in einem einzigen Repository enthalten, das der durch opscode definierten Struktur folgt. Sie schlagen vor, die .kitchen.yml-Datei in die Basis des Repositorys zu schreiben und eine andere Küchen-Suite für jede Art von Konvergenz zu schreiben, die ich ausführen muss (= zusätzliche kitchen.yml-Suite mit eigener Laufliste)? – keftes
Der Trend in einigen Jahren geht dahin, Kochbücher als separate Softwareprojekte und Repositories zu behandeln. Sogar Chef (früher Opscode) hat ihre monolithischen [Kochbücher Repo] (https://github.com/opscode/cookbooks) vor langer Zeit auf [separate] (https://github.com/opscode-cookbooks) aufgeteilt. Das "Chef Repo" enthält heutzutage nur Rollen usw., wenn auch nur das. YMMV, aber die allgemeine Idee von test-kitchen ist, Integrationstests von * one * Kochbuch auf einmal zu helfen, und einen Abhängigkeitsmanager zu verwenden, um die anderen Kochbücher zu holen. – tmatilai
Es sieht so aus, als müssten wir unsere Projektstruktur umgestalten. Vielen Dank. – keftes