zl程序教程

您现在的位置是:首页 >  其他

当前栏目

tasks文件的静态导入和动态包含

文件静态导入 动态 包含 Tasks
2023-09-14 09:15:56 时间

tasks文件的静态导入方式import_tasks

静态导入的方式,when判断是针对tasks文件的所有tasks
静态导入的task文件,会被认为是本playbook的task
每个tasks都会判断一次

新建tasks1.yml文件

- name: 安装httpdpkg
  yum:
    name: httpd
    state: latest

- name: 开启httpd服务
  service:
    name: httpd
    state: started
    enabled: yes

新建playbook1.yml文件

---
- name: 安装web服务器
  hosts: servers
  tasks:
  	# 导入tasks文件
    - import_tasks: tasks1.yml

查看静态导入的task列表

静态导入的task文件,会被认为是本playbook的task

# 查看静态导入的task列表,tasks_file中的文件被识别为本地的tasks
ansible-playbook --list-tasks playbook.yml

tasks文件的动态包含include_tasks

动态包含的方式,when判断是针对tasks文件的上级tasks做一次判断
如果when为真,就执行tasks文件,如果when为假,就不执行tasks文件

新建tasks1.yml文件

- name: 安装httpdpkg
  yum:
    name: httpd
    state: latest

- name: 开启httpd服务
  service:
    name: httpd
    state: started
    enabled: yes

新建playbook1.yml文件

---
- name: 安装web服务器
  hosts: servers
  tasks:
  	# 导入tasks文件
    - include_tasks: tasks1.yml

查看动态导入的task

查看动态导入的task,显示的是一个task

[student@workstation projects-file]$ ansible-playbook --list-tasks playbook.yml

playbook: playbook.yml

  play #1 (servera.lab.example.com): config web server	TAGS: []
    tasks:
      user include	TAGS: []
      Install the firewall	TAGS: []
      Start the firewall	TAGS: []
      Open the port for {{ rule }}	TAGS: []
      Create placeholder file	TAGS: []

  play #2 (localhost): Test web service	TAGS: []
    tasks:
      connect to internet web server	TAGS: []