2013-05-17 14 views
5

Jestem wielkim fanem Berkshelf i wydałem kilka książek kucharskich społeczności, używając go i jego niesamowite.Jak korzystać z Berkshelf do zarządzania repo Organizacją?

Teraz rozpoczynam nowy projekt szefa kuchni, a ja również z Berkshelfem.

Ale znalazłem pewne niejasności/trudności z wykorzystaniem go do projektu.

Poniżej w Berksfile:

site :opscode 

cookbook 'mediawiki', github: 'millisami/chef-mediawiki' 
cookbook 'sp-mediawiki', path: 'site-cookbooks/sp-mediawiki' 

Mam generowane moja aplikacja książkę kucharską wewnątrz folderu site-cookbooks.

Kiedy ja berks install, IT błędy OUT:

An error occurred while reading the Berksfile: no metadata.rb or metadata.json found at \ 
/Users/millisami/Code/chef-sp/site-cookbooks/sp-mediawiki 

Teraz zastanawiam się, gdzie mogę wygenerować mój wniosek sp-mediawiki książka kucharska?

Po prostu utwórz nowy berks cookbook sp-mediawiki, będzie podobny do biblioteki kucharskiej.

Ten rodzaj przepływu jest idealnie wykonany przy użyciu librarian-chef, którego używam na innym projekcie.

Tak, staram się umieścić linię:

  1. Berkshelf jest dobry, aby rozwijać poszczególne kucharskie
  2. Bibliotekarz-szef kuchni jest dobre zarządzanie orkiestracji najwyższym poziomie

Czy mam rację/źle? Jak ludzie używają Berkshelf do zarządzania szefem kuchni w reporze Orga?

+0

Czy znalazłeś rozwiązanie tego problemu? Można odpowiedzieć na własne pytanie. Proszę nie zapomnieć zaznaczyć odpowiedzi jako poprawnej! :) – sethvargo

Odpowiedz

3

Jak powiedziałem w mojej odpowiedzi na GitHub:

Jeśli masz Berksfile na górze chef-repo, ty możesz Berkshelf zarządzać całą swoją książkę kucharską zależności dla ciebie.

Na przykład, powiedzmy, że piszę książkę kucharską, która zależy od książki kucharskiej apache2. Dodam do mojego Berksfile:

site :opscode 

cookbook 'apache2', '~> x.x.x' # optional version constraint 

i uruchom polecenie berks install zainstalować tę książkę kucharską. Ponieważ jest to biblioteka, jest zainstalowana na twoim komputerze "gdzieś" i nie powinieneś jej zawracać. Teraz wygenerować aplikacji-książki kucharskiej (nazwijmy go my-apache2):

$ berks cookbook my-apache2 

A to stworzy szkielet dla Ciebie.Następnie można dodać apache2 jako zależność od tej nowej książki kucharskiej w metadata.rb:

name 'my-apache2' 
# suppressed 
version '1.0.0' 

depends 'apache2' 

A twoja struktura katalogów wygląda następująco:

chef-repo 
    | Berksfile 
    |_ cookbooks 
    |_ my-apache2 

Zawiadomienie apache Cookbook nie ma. Wszystkie książki kucharskie w bibliotece są dostępne pod numerem ~/.berkshelf/cookbooks, ale nie powinieneś się o to martwić. Są one automatycznie wciągane i dodawane do Twojej ścieżki.

Jeśli inny członek drużyny chce użyć twojego szefa kuchni-repo, po prostu każ im uruchomić berks install i wszystkie niezbędne zależności zostaną zainstalowane na ich komputerze, jak również.

Po uruchomieniu komend, takich jak berks upload, Berkshelf automatycznie znajdzie i rozwiąże wszystkie niezbędne książki kucharskie.

Czy to ma sens?

+0

Wiem, że to pytanie i odpowiedź są już prawie dwa lata, ale wciąż nie jestem pewien, jak używać Berkshelf z * organizacją * repo. W swojej odpowiedzi używasz książki kucharskiej aplikacji, ale nie jest dla mnie oczywiste, w jaki sposób dotyczy to pytanie (szczególnie w przypadku Chef Zero). Czy Berkshelf wymaga książki kucharskiej? Czy nie ma możliwości utworzenia repozytorium organizacji, które nie zawiera żadnych książek kucharskich (bezpośrednio)? –

Powiązane problemy