试图找出大型项目的最佳方法。何时适合使用以下方法在菜谱中添加菜谱include_recipe
而不是将食谱添加到run_list
?有没有好的经验法则?
在我看来,任何配方都应该能够在空机器上独立运行。因此,如果某个配方 A 依赖于在其之前运行的配方 B,我总是使用 include_recipe。
例如:2 本食谱、tomcat 和 java。 Tomcat 需要 java。
当某些用户想要安装 tomcat 时,他可能不知道他实际上需要其他一些说明书来安装它。他运行 tomcat 配方,要么失败,并出现一些完全无用的错误消息,例如“未找到 java”,或者更糟糕 - 它成功了,但用户当然无法启动 tomcat,因为他没有安装 java。
但是当有一个include_recipe 'java'
tomcat 食谱中的行,这也需要depends 'java'
在元数据中,用户在尝试安装 tomcat 时,将看到可以理解的错误消息:“未找到 Cookbook java”。这样,实际上用户可以自己下载依赖项(甚至使用某些自动工具),而无需实际运行配方,而是读取元数据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)