Ansible:如何获取当前库存位置

时间:2019-03-13 14:45:14

标签: ansible

我有许多Ansible环境:

environments
  dev
    hosts
    group_vars/
  prod
    hosts
    group_vars/

我需要创建一个“设置”剧本,该剧本将在我使用的环境的group_vars中复制一些文件。

例如ansible-playbook -i environments/dev setup.yml --extra-vars="target=server1"

应将文件从 server1 复制到 environments / dev

我目前正在执行任务:

 tasks:
 - name: Copy SSL certificate
   fetch:
      src: /path/to/file.crt
      dest: <inventoty_path>
      flat: yes

但是我不知道<inventory_path>用什么。

是否存在用于设置当前广告资源绝对路径的变量?还是一种获取它的方式(无需为此设置额外的变量)?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

有几个“特殊变量”:

  • ansible_inventory_sources
  • inventory_dir
  • inventory_file

https://docs.ansible.com/ansible/latest/reference_appendices/special_variables.html

还有一个配置选项inventoryhttps://docs.ansible.com/ansible/2.4/intro_configuration.html#inventory

您还可以设置环境变量: https://docs.ansible.com/ansible/2.4/config.html#envvar-ANSIBLE_INVENTORY