一千萬個為什麽

搜索

Ansible Playbook Localhost調用工作目錄



我想在本地運行一個ansible playbook(主機是localhost,比如 -i“localhost,”),在Playbook中獲取 ansible-playbook 命令的工作目錄被調用。

但是,當我在playbook任務中讀出當前的工作目錄時,我得到了playbook本身的目錄。

在我的情況下,是否有任何變量我可以參考獲取控制主機(localhost)上的工作目錄?

我可以通過變量 -e 註入,但我更希望有一個後備,如果沒有設置該變量,我可以從([local] host)環境中獲取它。

轉載註明原文: Ansible Playbook Localhost調用工作目錄

一共有 2 個回答:

您可以使用 env 查找插件。總是在控制主機上的“父”ansible進程的上下文中評估插件。

- debug:
    msg: "{{ lookup('env', 'PWD') }}"

More lookup plugins can be found here: http://docs.ansible.com/ansible/latest/user_guide/playbooks_lookups.html

我使用shell模塊運行一個簡單的pwd,然後使用register來捕獲它

name: current_working_directory
    shell: pwd
    register: current_working_directory

然後你可以在任何地方重用它

{{  current_working_directory.stdout }}