有條件運行角色是否有標準或最佳實踐?有條件地運行角色的最佳實踐
如果我有以下的基本劇本:
---
- hosts: prod
gather_facts: false
become: true
become_method: sudo
vars_files:
- variables/vars.yml
pre_tasks:
- name: check app existence
command: ls /data/myapp
# Store the resuts here
register: app_exists
ignore_errors: yes
roles:
- os_base_setup
- selinux_setup
- libsemanage_install
...
# Conditionally run this role
- - { role: app_clean_install, when: app_exists|failed }
- post_install_config
- cleanup
...
缺點,我可以看到這種方法:
這始終報告「前置任務」爲已經做了「變化」。
它還會將每個單獨的任務與「跳過」角色報告爲跳過,而不是僅跳過整個角色。
在某處鍵入問號並不一定會成爲問題。 – techraf
感謝您的反饋......這個問題沒有明確說明,所以我做了一個編輯。 – comfytoday