您的位置:首页 > 其它

ansible学习笔记(二) -- roles

2016-05-10 18:09 453 查看
上一节把整个布局大概列了一下,这节重点记录一下 /etc/ansible/roles/tomcat 这个目录下的各目录的意义

此目录的目录结构如下:
.
├── files
│   └── tomcat-initscript.sh
├── handlers
│   └── main.yml
├── tasks
│   └── main.yml
└── templates
├── iptables-save
├── server.xml
└── tomcat-users.xml


tasks/main.yml 里面有如下行:
- name: Configure Tomcat server
template: src=server.xml dest=/usr/share/tomcat/conf/
notify: restart tomcat

- name: Configure Tomcat user
template: src=tomcat-users.xml dest=/usr/share/tomcat/conf/
notify: restart tomcat

template模块官方的解释为: Templates a file out to a remote server. 大概意思就是当 src=config_file 这些文件发生变化的时候,触发notify的动作
templates目录就是存放这些文件用的(一般都是一些配置文件)
handlers目录里有一个main.yml文件,就是用来执行notify动作的

大概的流程为:
templates/config_file 发生变化 --> 触发notify: action --> action定义在 handlers/main.yml 中
notify后面的动作名字必须与handlers/main.yml里面的name后面的名字一致,例:
- name: Configure Tomcat user
template: src=tomcat-users.xml dest=/usr/share/tomcat/conf/
notify: restart tomcat

handlers:
- name: restart tomcat
service: name=tomcat state=restart

而files目录下存放的是一些脚本, 通过copy模块可以transport到remote hosts上的,而后触发notify动作之后执行的脚本
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ansible