ruby – 如何在厨师食谱中分享厨师食谱中的代码?

我想在厨师回购中分享一小部分食谱中的方法.我知道在食谱级别我可以把代码放在库目录中的模块中(见 related question).我正在寻找的是类似的东西,但可用于我厨师回购中的所有食谱.

我可以想到几个解决方案:

>创建一个宝石,安装宝石作为厨师跑步的一部分.这似乎太过分了.
>将文件放在某个文件夹中,并将该文件添加到配方文件中的$LOAD_PATH中.我有一种感觉,因为厨师服务器不了解这个回购,所以不能实际部署.
>将文件放在某个文件夹和符号链接到每个食谱的库目录中.

最后一个选项似乎是最可行的.有没有更好/更惯用的方式来做我想要的?

解决方法

您可以使用另一本食谱的图书馆定义的功能,但是您必须教授厨师您的食谱依赖于提供的食谱.

所以,例如,如果在食谱A中,你有一个库/ default.rb提供一些函数f,只要B的Metadata.rb文件包含一行,你可以从菜谱B访问它:

depends "A"

有关详细信息,请参阅metadatalibraries的Chef文档.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...