【发布时间】:2015-12-15 20:33:38
【问题描述】:
我正在编写一本说明书来安装和配置应用程序。 从我搜索的内容来看,修改配置的最佳方法是放置该配置文件的模板。但是一个应用程序可以有不同的版本,配置文件可能会有所不同。这里最好的解决方案是什么? 创建将就地修改文件的提供程序和资源或创建将处理更改的 ruby 块? 谢谢。
【问题讨论】:
标签: chef-infra cookbook lwrp
我正在编写一本说明书来安装和配置应用程序。 从我搜索的内容来看,修改配置的最佳方法是放置该配置文件的模板。但是一个应用程序可以有不同的版本,配置文件可能会有所不同。这里最好的解决方案是什么? 创建将就地修改文件的提供程序和资源或创建将处理更改的 ruby 块? 谢谢。
【问题讨论】:
标签: chef-infra cookbook lwrp
我们所做的是将应用说明书版本同步到应用版本。
本说明书负责部署和配置应用程序,因此模板会在版本更改时相应更新。
您没有提供太多关于配置文件中可能发生的变化的信息,通常最好的选择是拥有一个详尽的配置,并根据属性值启用或不启用它的一部分,以根据所需的规定进行调整环境、角色、版本等。
【讨论】:
我假设您有一个 XML 或 JSON 或类似的配置文件,并且有配置参数和相应的值。
如果配置文件变体是指配置参数值变体,那么您可以使用 ERB 模板来创建配置模板。在创建模板时,您会为不断变化的配置值添加变量。这些变量在运行时确定,变量值在您的配方中提供。
配置参数/模板本身可能会随着应用程序的不同版本而改变。以我的经验,处理这个问题的一种方法是将食谱版本与您的应用程序版本结合起来。这样您就可以随着应用程序的发展更新配置模板。
【讨论】: