10
A
回答
7
當涉及到這種事情時,Ansible文檔存在限制 - 如果有官方最佳實踐,我還沒有遇到過。
讓您的劇本保持可讀性和可讀性的一個好方法是針對主機運行多個不同的播放,並在每個播放器中使用不同的參數調用角色。
role: foo, var: blah
語法顯示了一點點this description的語法是一種傳遞參數的好方法,並且一目瞭然地讓事情一目瞭然。例如:
- name: Run the docker role with docker_container_state=foo
hosts: docker-host
roles:
- { role: docker_container, docker_container_state: foo }
- name: Run the docker role with docker_container_state=bar
hosts: docker-host
roles:
- { role: docker_container, docker_container_state: bar }
5
我通常使用includes運行的作用,部分多次,如果我有一個變量的體面的佈局(或整個角色!)。請參閱下面的示例劇本,角色apply_state
其中roles/apply_state/tasks
文件夾中有print_state.yml
。訣竅是通過包含內容的項目,之後它是一塊蛋糕。
playbook.yml
- hosts: localhost
roles:
- { role: apply_state, states: [ state_one, state_two, state_three ] }
角色/ apply_state /任務/ main.yml
- name: print all states!
include: print_state.yml state="{{ item }}"
with_items: "{{ states }}"
角色/ apply_state /任務/ print_state.yml
- name: echo state
debug: msg="{{ state }}"
請參閱下面的ansible-playbook -i localhost, playbook.yml
的輸出:
PLAY [localhost] ***************************************************************
TASK [setup] *******************************************************************
ok: [localhost]
TASK [apply_state : print all states!] *****************************************
included: /home/user/roles/apply_state/tasks/print_state.yml for localhost
included: /home/user/roles/apply_state/tasks/print_state.yml for localhost
included: /home/user/roles/apply_state/tasks/print_state.yml for localhost
TASK [apply_state : echo state] ************************************************
ok: [localhost] => {
"msg": "state_one"
}
TASK [apply_state : echo state] ************************************************
ok: [localhost] => {
"msg": "state_two"
}
TASK [apply_state : echo state] ************************************************
ok: [localhost] => {
"msg": "state_three"
}
PLAY RECAP *********************************************************************
localhost : ok=7 changed=0 unreachable=0 failed=0
相關問題
- 1. Ansible角色取決於未運行多次的其他角色
- 2. Ansible劇本不運行從角色
- 3. 如何使用不同的參數多次運行rspec類
- 4. JS單元測試使用不同參數運行多次
- 5. 使用不同參數多次運行一個水晶報表
- 6. 如何多次使用不同參數運行查詢?
- 7. 如何多次使用不同參數運行故事
- 8. 用不同的參數多次運行python函數
- 9. Ansible:安裝角色包並運行它
- 10. Ansible運行具有不同的var文件多次包含
- 11. 多次使用不同的參數
- 12. 如何使用不同參數運行Jenkins的許多運行?
- 13. 如何多次使用不同的參數運行相同的廚師配方
- 14. 使用不同的參數多次運行同樣的方法在C#
- 15. 使用不同的參數多次執行jUnit runner運行測試類
- 16. 使用不同參數多次滾動
- 17. 如何使用不同的用戶角色多次運行相同的BDD功能
- 18. 傳遞命令行參數在Ansible角色的系統腳本?
- 19. ansible角色不運行的主要劇本
- 20. 針對不同的參數多次運行終端命令
- 21. Ansible在不同的主機上執行每個角色
- 22. 使用不同的輸入參數在fortran中多次運行代碼
- 23. 我怎樣才能用一個劇本中的不同變量多次執行一個Ansible角色?
- 24. Pytest:使用不同的輸入數據多次運行測試
- 25. 用不同的參數多次執行相同的asynctask
- 26. TestNG Xml文件:我想用不同的參數多次運行同一個類
- 27. 用參數運行rspec多次
- 28. 多次使用相同的參數
- 29. 使用相同的參數多次
- 30. Ansible playbook>如何執行與不同主機不同的角色