2
在我的大多數角色開始時,有以下代碼塊。它試圖加載操作系統和版本特定的變量和任務。是否有可能我沒有爲我的每個角色重複這段代碼?在角色之間分享重複的代碼塊
---
- name: Include OS specific variables.
include_vars: "{{ item }}"
with_first_found:
- files:
- "vars/{{ ansible_os_family }}.yml"
skip: True
- name: Include distribution specific variables.
include_vars: "{{ item }}"
with_first_found:
- files:
- "vars/{{ ansible_distribution }}.yml"
skip: True
- name: Include version specific variables.
include_vars: "{{ item }}"
with_first_found:
- files:
- "vars/{{ ansible_distribution }}{{ ansible_distribution_major_version }}.yml"
skip: True
- name: Run OS specific preparation work.
include: "{{ item }}"
with_first_found:
- files:
- "tasks/{{ ansible_os_family }}.yml"
skip: True
- name: Run distribution specific preparation work.
include: "{{ item }}"
with_first_found:
- files:
- "tasks/{{ ansible_distribution }}.yml"
skip: True
- name: Run version specific preparation work.
include: "{{ item }}"
with_first_found:
- files:
- "tasks/{{ ansible_distribution }}{{ ansible_distribution_major_version }}.yml"
skip: True
我主要關心的是,如果我使用include或其他角色,查找路徑是否正確。如果我使用另一個角色,它是如何看待這個角色的'vars'目錄?你有沒有任何工作的例子? –
你是對的,角色只會在傳遞相對路徑時查看相鄰目錄。但有人猜測,如果你去爲獨立的角色(我建議不管)。你將擁有共同角色中的所有變量/任務。 – shaps