Ansible with_fileglob正在跳过
我正在编写一本Ansible剧本,旨在构建Web服务器。但是,我在尝试将Ansible with_fileglob正在跳过,ansible,Ansible,我正在编写一本Ansible剧本,旨在构建Web服务器。但是,我在尝试将与_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: - "
与_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}
已在其他地方定义为角色/common/templates。在这个目录中,我有一个名为webserver1的文件,我希望Ansible能够复制到/etc/nginx/sites available/
我发现其他人也在讨论这个问题,但没有任何回应能帮助我解决这个问题。为什么Ansible会跳过文件
编辑:我应该指出,我希望与_fileglob一起使用(而不是直接复制),因为我希望在将来迭代其他虚拟主机。请看,注1:
在角色中使用带有with_fileglob的相对路径时,Ansible解析相对于角色//文件目录的路径
因此,要访问templates目录中的文件,可以使用。/templates启动相对路径。好的,我似乎只能在这里使用绝对URL。也许是因为我是通过流浪者使用流浪规定,但这并不理想。我想我可以使用包含绝对URL的变量,但它似乎必须是静态的才能工作。似乎我在创建变量时使用了一些旧的示例。我当时使用的是:templates\u dir:src=“{{base\u dir}}/roles/common/templates”
`您还可以将文件从模板
目录移动到文件
目录。有一些神奇的变量,如剧本目录
和角色路径
。最好使用它们而不是。/
,因为角色通常可能安装或保存在其他地方。不要只依赖一个项目的结构