【发布时间】:2018-07-24 06:31:39
【问题描述】:
几周以来,我一直在努力让这个逻辑正确无误。我想做的是创建一个可将我的应用程序安装在远程主机上的 ansible playbook ......我有点工作......
现在的问题是,就像所有应用程序安装一样,这意味着我需要进行健全性检查并确保我的配置正确。
我正在努力解决的一件事是,如果我有大量文本(比如下面的文本,我需要确保其中的值是正确的
我正在将 Ansible Replace 和 Lineinfile 模块用于其他事情,但我认为将这些模块用于我试图解决我遇到的这个问题是不正确的......有没有其他人在你那里做过类似的事情有一本查看文件的剧本,只有当值不正确时才更新它
<Set name="env"><SystemProperty name="address" default="0.0.0.0"/></Set>
<Set name="port"><SystemProperty name="https" default="6328" /></Set>
<Set name="idle">3</Set>
<Set name="soLingerTime"><Property name="http" default="-1568"/></Set>
<Set name="acceptorDelta"><Property name="ssol" default="9524"/></Set>
<Set name="PriorityDelta"><Property name="ssl34" default="9635"/></Set>
<Set name="Size">15874</Set>
【问题讨论】:
-
你不应该尝试用替换和行文件自己操作xml文件,这很危险,使用模板模块(考虑“xmlify”字符串)或xml模块
-
如果我理解正确,您希望所有配置都相同吗?那么你应该只
copy文件,如果它已经相同,则不应触摸它。幂等性。如果您的意思更复杂,请在您的原始帖子中澄清/详细说明。如果值需要特定于目标,template模块当然也是您的朋友。 -
我需要在升级后更新默认配置中的某些值。我不想只复制具有这些值的文件,因为如果添加了某些内容,则供应商会提供一个新的系统属性在新包装中,它将被遗漏
标签: bash ansible config app-config