Ansible角色中如何将files目录文件复制到templates目录?
Ansible角色内复制文件到templates目录的任务写法
在你的data角色中,要将files/application.j2复制到templates目录,可按以下方式编写任务:
单个文件的简化写法
如果只需要复制这一个文件,无需使用循环,直接指定路径即可:
- name: 复制application.j2到templates目录 copy: src: files/application.j2 dest: templates/application.j2
支持多文件的循环写法
如果后续可能需要复制多个匹配的文件,保留with_fileglob的话,可以用basename过滤器自动提取原文件名,确保目标路径正确:
- name: 复制指定文件到templates目录 copy: src: "{{ item }}" dest: "templates/{{ item | basename }}" with_fileglob: - "files/application.j2"
路径说明
在Ansible角色的任务文件中,所有路径都是相对角色根目录的,所以files/application.j2会直接指向角色下的files子目录,templates/application.j2则对应角色内的templates子目录。
内容的提问来源于stack exchange,提问作者zizou
相关产品推荐
相关产品推荐

