首页 > 解决方案 > 如何使用模板覆盖ansible中的文件?

问题描述

我在文件夹路径中有一个模板,在文件夹路径中~/sample_ansible/roles/carbon/templates/carbon.xml.j2有一个名为 carbon.xml 的文件~/ansible_istio/wso2_apim/wso2am-3.0.0/repository/conf/。我需要carbon.xml用模板覆盖文件。这个任务怎么做?

我的代码

- name: Overwrite file
  copy:
    src: "~/sample_ansible/roles/carbon/templates/carbon.xml.j2"
    dest: ~/ansible_istio/wso2_apim/wso2am-3.0.0/repository/conf/

标签: ansible

解决方案


你试过这个吗?

- name: Overwrite file
  template:
    src: "~/sample_ansible/roles/carbon/templates/carbon.xml.j2"
    dest: ~/ansible_istio/wso2_apim/wso2am-3.0.0/repository/conf/carbon.xml

测试:

# cat /tmp/carbon.xml
this is
the initial
contents

# cat /tmp/carbon.xml.j2
This is a new file with {{ansible_hostname}}

Playbook:
- name: Overwrite file
  template:
     src: /tmp/carbon.xml.j2
     dest: /tmp/carbon.xml


已更改:[localhost] => { “已更改”:true,“校验和”:“197ece93c57d1a8eaccc6cd9928ede641eef65”,“dest”:“/tmp/carbon.xml”,“diff”:[],“gid”:0,“组“: “根”, ...............

# cat /tmp/carbon.xml
This is a new file with lxxxxx12345

推荐阅读