第十四章 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
posted @ 2021-12-23 14:20  年少纵马且长歌  阅读(66)  评论(0编辑  收藏  举报