是否可以通过ansible剧本编辑和修改xml文件?如果可能的话如何?我有多个属性可以在xml文件中手动替换
<Products>
<Product productId="MetadataServer"> {{ some_value }} <product/>
<Product productId="DataQualityExceptionConsole" version="11.5.0.1"/>
</Products>
我想用不同的值替换{{ some_value }}
。
答案 0 :(得分:1)
您可以在ansible中使用replace
模块:
- name: Replace Module
replace: dest=<file-path-name> regexp='some_value' replace='{{ some_value }}' backup=no
尽可能编辑文件,如下所示:
<Products>
<Product productId="MetadataServer">some_value<product/>
<Product productId="DataQualityExceptionConsole" version="11.5.0.1"/>
</Products>
答案 1 :(得分:1)
为该xml文件创建模板,并根据不同情况创建键值列表。当您执行剧本时,ansible将使用变量键和相应的值替换模板中的所有变量。
例如
您想在dev和qa环境上安装tomcat。对于Dev,您正在使用端口8080;对于QA环境,您正在使用端口8081。 您可以使用port_no作为变量创建server.xml的模板。 (小片段可以如下所示)。您可以根据需要添加任意多个变量。
<Service name="Catalina">
<Connector port="{{ port_no }}" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
答案 2 :(得分:0)