我想在厨师回购中分享一些食谱方法。我知道在cookbook级别上我可以将代码放在libraries目录中的模块中(参见related question)。我正在寻找的是类似的东西,但可以在我的厨师仓库的所有食谱中找到。
我可以想到几个解决方案:
$LOAD_PATH
。我有一种感觉不适用于实际部署,因为厨师服务器对回购没有任何了解。最后一个选项似乎最可行。是否有更好/更惯用的方式来做我想要的事情?
答案 0 :(得分:18)
您可以使用其他食谱中的库定义函数,但您必须教导厨师将您的食谱depend
放在提供的食谱上。
因此,例如,如果在食谱A中,您有libraries/default.rb
提供了一些功能f
,只要B的metadata.rb
文件包含该功能,您就可以从食谱B中访问它。行:
depends "A"
答案 1 :(得分:1)
有3个不同的选项允许以主厨资源(1. LWRP ,2。 HWRP )或方法(3。)的形式共享代码库强>“)。我建议你先考虑LWRP。我发现this answer非常善于解释所提到的技术之间的差异。