第十四章 Ansible-playbook檔案複用
阿新 • • 發佈:2021-12-23
一、playbook複用概述
在之前寫playbook的過程中,我們發現,寫多個playbook沒有辦法,一鍵執行,這樣我們還要單個playbook挨個去執行,很雞肋。所以在playbook中有一個功能,叫做include用來動態呼叫task任務列表。
二、include 和 import區別
#1.include(動態):在執行時匯入 1.--list-tags,--list-tasks不會顯示到輸出 2.不能使用notify觸發來自include內處理程式名稱(handlers) #2.import(靜態):在playbook解析時預先匯入 1.能與迴圈一起使用 2.將變數用於目標檔案或角色名稱時,不能使用inventory(主機/主機組等)中的變數
三、include_tasks和import_tasks結構詳細圖
四、編寫安裝nginx
[root@m01 ~]# cat nginx.yml
- name: Install Nginx Server
yum:
name: nginx
state: present
五、編寫啟動nginx
[root@m01 ~]# cat start.yml
- name: Start Nginx Server
systemd:
name: nginx
state: started
enabled: yes
六、編寫呼叫的劇本
[root@m01 ~]# cat main.yml - hosts: nfs tasks: - include_tasks: nginx.yml - include_tasks: start.yml
七、直接呼叫寫好的playbook
[root@m01 ~]# cat main.yml
- import_playbook: lnmp1.yml
- import_playbook: lnmp2.yml