2016-12-02 97 views
2

相同的角色我有我想運行不同的var文件多次的角色,我目前做如下:Ansible運行具有不同的var文件多次包含

- hosts: localhost 
    pre_tasks: 
     include_vars: "vars/vars1.yml" 
    roles: 
    - my_role 

- hosts: localhost 
    pre_tasks: 
     include_vars: "vars/vars2.yml" 
    roles: 
    - my_role 

有沒有少樣板的方式來做到這一點?我知道它是possible to parameterise roles,但我無法找到任何有關多次運行角色並每次調用不同include_vars的文檔。

回答

1

我想要做類似的東西了一段時間後,我最後不得不在我的庫存兩組

[group1] 
localhost1 

[group2] 
localhost2 

,然後在group_vars我有不同的值。你的情況,這將是

# file: group_vars/group1/main.yml 
include_file: vars/vars1.yml 

# file: group_vars/group2/main.yml 
include_file: vars/vars2.yml 

然後,你可以修改你的劇本,以這樣的

- hosts: all 
    pre_tasks: 
     include_vars: "{{ include_file }}" 
    roles: 
    - my_role 

最後,執行你的劇本兩組

ansible-playbook pb.yml -l group1,group2 

,它應該照顧兩個instalations

相關問題