在 Chef Windows 网络部署中更新 web.config

Update web.config in Chef Windows web deployment

我正在学习并尝试在 windows 中为 IIS Web 部署实施 Chef。我需要一些关于更新 web.config 文件的帮助。

我从互联网上得到我们必须创建带有 web.config 占位符 (=node['cookbook']['variable']) 的 erb 模板文件,这样我们就可以用 [=27] 中的环境特定属性值替换该占位符=] 时间。

如何将我的 erb 文件与最新版本同步 web.config?如果我在 CI 进程 运行ning 时从 CI 服务器获取并更新文件,我该如何添加占位符?

我有很多文件(5 到 6 个)来更新环境特定值,所以我想到一旦部署到服务器就直接编辑配置文件,而不是替换为 erb 文件以便于维护。这会是个主意吗?它会破坏幂等性吗?哪一个是易于维护的好方法?

模板文件数据位于食谱中,因此您可以将其与食谱代码和其他食谱文件一起管理。通常,当您移动要由 Chef 管理的内容时,您将手动从服务器获取当前文件内容并将其粘贴到模板文件中。然后对其进行编辑以添加 <%= @name %> 值占位符或其他更复杂的内容,例如 each 循环。在那之后,对文件的所有更改都必须通过更新 Chef 说明书来完成,否则 Chef 将在下次运行时撤消更改。