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