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