我尝试在同一文件中插入 2 个 ansible 块,但 Ansible 将第一个块替换为第二个块。
如果我插入接下来的 2 个块:
- name: Setup java environment
blockinfile:
dest: /home/{{ user }}/.bashrc
block: |
#Java path#
JAVA_HOME={{ java_home }}/
- name: Setup hadoop environment
blockinfile:
dest: /home/{{ user }}/.bashrc
block: |
#Hadooppath#
HADOOP_HOME={{ hadoop_home }}/
文件中只有第二个块,因为它替换第一个块。
要在同一文件中插入 2 个带有 Ansible 的块,并且不要用第二个替换第一个块:
更改 Ansible 块文件标记:
blockinfile_task_1:
marker: "# {mark} ANSIBLE MANAGED BLOCK insertion 1"
blockinfile_task_2:
marker: "# {mark} ANSIBLE MANAGED BLOCK insertion 2"
对于前面的示例,剧本将是:
- name: Setup java environment
blockinfile:
dest: /home/{{ user }}/.bashrc
marker: "# {mark} ANSIBLE MANAGED BLOCK Java"
block: |
#Java path#
JAVA_HOME={{ java_home }}/
- name: Setup hadoop environment
blockinfile:
dest: /home/{{ user }}/.bashrc
marker: "# {mark} ANSIBLE MANAGED BLOCK Hadoop"
block: |
#Hadooppath#
HADOOP_HOME={{ hadoop_home }}/