使用 Chef 修改配置文件

Modify configuration files with Chef

我正在编写一本安装和配置应用程序的说明书。 据我搜索,修改配置的最佳方法是放置该配置文件的模板。但是一个应用程序可以有不同的版本,配置文件也可能不同。这里最好的解决方案是什么? 创建将就地修改文件的提供程序和资源,或创建将处理更改的 ruby 块? 谢谢。

我们所做的是将应用说明书版本同步到应用版本。

本说明书负责部署和配置应用程序,因此模板会在版本更改时相应更新。

您没有提供太多关于配置文件中可能发生的变化的信息,通常最好的办法是拥有详尽的配置并根据属性值启用或不启用其中的一部分以根据需要进行调整根据环境、角色、版本等说明。

我假设您有一个 XML 或 JSON 或类似的配置文件,并且有配置参数和各自的值。

如果配置文件变化是指配置参数值变化,那么您可以使用 ERB 模板创建配置模板。当您创建模板时,您会为不断变化的配置值添加变量。这些变量是在运行时确定的,变量值在您的配方中提供。

配置 parameter/template 本身可能会随着应用程序的不同版本而改变。根据我的经验,一种处理方法是将说明书版本与您的应用程序版本耦合。这样您就可以随着应用程序的发展更新配置模板。