2026/2/6 23:48:22
网站建设
项目流程
贷款网站源码下载,烟台网站搭建,个人网站免费空间,wordpress 主题 餐饮Chef 定义:创建可重用参数化宏的实用指南 1. 定义的特性与适用场景 在 Chef 中,定义(Definitions)有着独特的特性和适用场景。定义本身不能被其他资源通知,例如 notifies :restart, resources(:service = httpd) 这样的通知,是服务资源 “httpd” 被…Chef 定义:创建可重用参数化宏的实用指南1. 定义的特性与适用场景在 Chef 中,定义(Definitions)有着独特的特性和适用场景。定义本身不能被其他资源通知,例如notifies :restart, resources(:service = "httpd")这样的通知,是服务资源 “httpd” 被通知执行重启操作,而定义只是对其他资源的封装,不定义任何动作,所以无法被通知。当你遇到以下情况时,需要考虑是否适合使用定义:- 如果你使用定义来定义现有资源难以构建的行为,或者希望其他资源能够通知该行为,那么可能需要考虑实现轻量级或重量级资源和提供者(LWRPs 和 HWRPs)。- 如果你想为常用的资源和食谱代码集合创建一个可重用的包装器,定义是一个不错的选择。2. 定义示例 1:骨架代码下面通过一个具体的例子来详细说明如何创建定义。假设 AwesomeInc 公司创建了一个名为 “awesomeator” 的定制库存管理工具,需要创建一个食谱来安装和配置该工具。在安装工具之前,需要为其创建配置文件和目录结构,并且希望将这些准备步骤作为一个单一资源来处理,我们将这个定义命名为awesomeator_prepare。首先,创建定义所需的最小代码。所有定义都应放在食谱的/definitions文件夹下,建议将定义文件命名为与定义相同的名称。以下是awesomeator_prepare定义的骨架代码: