感觉这应该是一件非常容易做的事情,但我无法弄清楚。我知道有几篇文档概述了 Ansible 默认情况下查找文件的位置,其中大部分都很好并且可以理解。
我的问题是 - 简单明了 - 我可以 - 如果可以的话如何 - 将文件从我的 Ansible 清单复制到远程?
为了详细说明,请考虑以下目录布局:
ansible
├── ansible.cfg
├── inventory
│ ├── group_vars
│ │ └── group1
│ │ ├── vars.yml
│ │ └── upload.txt
│ ├── host_vars
│ ├── hosts.ini
├── playbooks
│ └── staging.yml
└── roles
└── ansible-role-upload
所以我想要做的是:运行staging.yml
,然后调用ansible-role-upload
上传upload.txt
到远程服务器。
绝对路径对我来说没有选择。
任何意见——甚至告诉我这是一个愚蠢的想法——都会受到赞赏。
答案1
由于我有类似的设置,我想回答您的问题如下。
我可以..将文件从我的 Ansible 清单复制到远程吗?
是的。
绝对路径对我来说没有选择。
使用相对路径。构造就像
- name: Copy file(s) to remote host
copy:
src: ../iventory/group_vars/group1/upload.txt
dest: /tmp
或者
- name: Copy file(s) to remote host
copy:
src: "{{ item }}"
dest: /tmp
with_fileglob:
- "../iventory/group_vars/group1/*.txt"
在工作中。