2012-06-20 146 views
18

我已經使用命令從opscode網站下載了一些食譜:刀烹飪網站安裝git例如。但是現在我想從github上的倉庫下載一本食譜到我目前的cookbooks目錄中。我應該如何去做這件事?我應該只將庫存儲到我的cookbooks目錄中嗎?從github添加廚師食譜

謝謝!

回答

25

您可以從https://github.com/websterclay/knife-github-cookbooks安裝knife github插件,之後您可以簡單地使用knife cookbook github install cookbooks/yum來安裝yum from https://github.com/cookbooks/yum

但是,我建議使用https://github.com/applicationsonline/librarian的圖書管理員廚師,它的工作原理與bundler對ruby寶石的功能非常相似(如果您熟悉的話)。

編輯:由於這顯然仍然收到意見,我會不屑一提berkshelf,這是驚人的。

+0

非常感謝你的回答。對於第一種方法,假設我想從這裏安裝彈性搜索食譜:https://github.com/karmi/cookbook-elasticsearch。我會做這樣的事情:**刀cookbook github安裝karmi/cookbook-elasticsearch **?此外,圖書管理員看起來不錯,但我有點迷路。我對捆綁器很熟悉,但我一直在遵循一個使用* knife cookbook install的教程... * ...我想把所有的食譜保存在同一個存儲庫中。對不起,我在我的日常工作,所以不能嘗試這一點呢。 – berto77

+0

如果我簡單地將食譜下載到食譜文件夾中,該怎麼辦?假設我已經在一個名爲** chef-repo **(opscode中儲存庫的名稱)的文件夾中下載了一堆食譜。但還有其他的食譜庫。我可以直接下載食譜(也可以是zip)並將其添加到cookbooks文件夾中?我看不出爲什麼這不起作用。缺點是我不會從原始上游回購獲得更新。 – berto77

+0

我注意到使用** knife-github-cookbooks **插件時,從github描述中說:* https://github.com/cookbooks/yum上的repo將被克隆到一個臨時目錄中,並轉移到食譜/ yum *那麼運行此命令時,我應該在我的** chef-repo **存儲庫中嗎?這是不是創建一個新的子庫,然後將食譜複製到我的* cookbooks *文件夾? – berto77

8

要下載和管理食譜,您可以使用Berkshelf,它本身有一種方法來自己管理食譜依賴關係。如果你熟悉Ruby,它就像Gemfile一樣工作。 你可以在你的BerksFile

食譜 'nginx的',並稱該命令下載從GitHub食譜,道: 'GitHub的網址食譜'

+1

cookbook'mysql',git:'git://github.com/opscode-cookbooks/mysql.git' –

+2

更短:cookbook'nginx',github:'用戶名/ nginx' – Alexander

-1

你可以試試這個命令

knife cookbook site download cookbookname 
+0

從[knife cookbook site']的文檔(https://docs.chef.io/knife_cookbook_site.html):「knife cookbook site子命令用於與位於https://的食譜進行交互supermarket.chef.io「。 –