我想分享廚師回購食譜中的一小部分方法。我知道在食譜級別上,我可以將代碼放入庫目錄的模塊中(請參閱related question)。我正在尋找的是類似的東西,但可以在我的廚師倉庫的所有食譜中找到。如何在廚師食譜中共享代碼?
我能想到的幾個解決方案:
- 創建創業板,安裝寶石作爲廚師運行的一部分。這似乎是矯枉過正。
- 將文件放在某個文件夾中,然後將該文件夾添加到配方文件中的
$LOAD_PATH
。我有一種感覺,不會與實際部署,因爲廚師服務器不知道任何關於回購。 - 將該文件放在某個文件夾中,並將其鏈接到每個食譜的庫目錄中。
最後一個選項似乎是最可行的。有沒有更好的/更習慣的方式去做我想做的事?
當你說「方法」是指純粹的Ruby代碼,還是代碼使用Chef的DSL可以放在食譜中? 如果它是純粹的Ruby,那麼寶石可能是最好的出路,除非你只有幾行代碼,否則我幾乎不會認爲它是過度殺毒。 如果是Chef代碼,請用LWRP創建一個圖書館食譜,並將其包含在頂級應用程序食譜中。 第二種方法可能適用於純Ruby庫,但我沒有嘗試過。 – cassianoleal
它主要是純粹的Ruby代碼。也許有十幾種實用方法。我對Chef的依賴管理並不是非常熟悉,但我想知道是否可以創建一個Cookbook,它只有庫文件夾中的共享代碼。 – dantswain
我剛剛嘗試過它,它似乎不起作用,至少不是馬上。 我仍然認爲寶石之道可能是最好的。 :) – cassianoleal