【问题标题】:Managing only part of a file with Chef使用 Chef 仅管理文件的一部分
【发布时间】:2017-08-15 09:13:47
【问题描述】:

我正在使用 chef 来管理一个 tomcat 应用程序。在这个应用程序中,有一个 web.xml 文件,我需要对其进行 1 次小改动。到目前为止,我一直在为这个文件使用一个模板,但是应用程序的作者喜欢在每次更新时更改这个文件的内容,这意味着我必须在每次更新时更改我的模板。在我看来,这与这一点无关。

文件中我唯一关心的是接近结尾的这一点:

<!--
  <session-config>
    <session-timeout>30</session-timeout>
  </session-config>
-->

我只需要去掉注释标签,并将我自己的值插入到会话超时标签中。我想保留文件的其余部分,但供应商提供它,维护新版本软件带来的任何更改。

最好的方法是什么?

【问题讨论】:

标签: chef-infra


【解决方案1】:

短版,使用 line 食谱。

长版本,这很难做到,最好让您的应用支持某种配置包含系统,这样您就可以将片段作为template 资源进行管理。

【讨论】:

    【解决方案2】:

    从官方食谱中获取文件的内容以编程方式添加您的内容,如果配置在 xml 中,您也可以尝试 xml 解析器,然后渲染模板运行时,然后部署该模板。

    【讨论】:

      猜你喜欢
      • 2023-03-07
      • 2020-05-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-21
      • 2016-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多