处理 Ansible 清单中的文件

处理 Ansible 清单中的文件

感觉这应该是一件非常容易做的事情,但我无法弄清楚。我知道有几篇文档概述了 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"

在工作中。

相关内容