Ansible with_fileglob正在跳过

时间:2014-02-07 12:20:51

标签: ansible

我正在整理一个旨在构建网络服务器的Ansible Playbook。但是我在尝试使用with_fileglob时遇到困难,因为Ansible一直在报告它正在跳过nginx vhost文件的副本。

我的脚本如下所示:

 - name: Nginx | Copy vhost files
   copy: src={{ item }} dest=/etc/nginx/sites-available owner=root group=root  mode=600
   with_fileglob:
     - "{{ templates_dir }}/nginx/sites-available/*"  
   notify
   - nginx-restart:

{{ templates }}已在其他地方定义为 roles / common / templates 。在这个目录中,我有一个名为 webserver1 的文件,我希望Ansible将复制到/etc/nginx/sites-available/

我发现其他人在讨论这个问题,但没有任何回复帮我解决了这个问题。为什么Ansible会跳过文件?

编辑:我应该指出我想要使用with_fileglob(而不是直接复制),因为我想在将来迭代其他虚拟主机。

1 个答案:

答案 0 :(得分:15)

查看http://docs.ansible.com/playbooks_loops.html#looping-over-fileglobs,注1:

  

在角色中使用带有with_fileglob的相对路径时,Ansible会解析相对于角色//文件目录的路径。

因此,要访问模板目录中的文件,您可以使用 ../ templates

启动相对路径