ansible之roles

ace@ace-i1102:~/.ssh$ sudo find /etc/ |grep ansible | more
/etc/ansible
/etc/ansible/hosts
/etc/ansible/ansible.cfg        # 配置文件
/etc/ansible/roles

 

 roles

特点

- 目录结构清晰
- 重复调用相同的任务  
 

 

ace@ace-i1102:~/yaml$ tree
.
├── port.yml
└── roles
    └── port
        ├── files
        ├── handlers
        │   └── main.yml
        ├── tasks
        │   ├── copyfile.yml
        │   ├── install.yml
        │   ├── main.yml
        │   └── start.yml
        ├── templates
        │   └── nginx.conf.j2
        └── vars
            └── main.yml

  

tasks目录里面的查找规则: 
    先找main.yml,通过import_tasks来导入task, 
    notify去找handlers里面的main.yml里面的task,
    tmplate模块去templates目录里面找需要复制的文件

 

  



copyfile.yml
- name: copyfile
  template: src=nginx.conf.j2  dest=/etc/nginx/nginx.conf
notify: restart
start.yml
- name: start 
  service: name=nginx state=started

 install.yml

- name: install{{pkg}}
 yum: name={{ pkg }}

main.yml

- import_tasks: install.yml
- import_tasks: copyfile.yml
- import_tasks: start.yml

port.yml

- hosts: port
  remote_user: root
  roles: 
    - port   

var/main.yml

pkg: redis

handlers/main.yml

- name: restart
  service: name=nginx state=restarted

 

posted @ 2019-04-04 09:54  慕沁  阅读(149)  评论(0)    收藏  举报