1. 程式人生 > 其它 >第十四章 Ansible-playbook檔案複用

第十四章 Ansible-playbook檔案複用

一、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