一、创建目录结构
在 /roles的目录下创建角色
如,创建安装redis的角色文件夹,创建nginx角色文件夹
之后在每个角色文件夹下创建包含如下的文件夹:
![](https://img2018.cnblogs.com/blog/1449650/201902/1449650-20190221213712860-713006766.png)
二、在tasks文件下创建单个任务
例如安装redis,复制配置文件,启动redis
install.yml
![](https://img2018.cnblogs.com/blog/1449650/201902/1449650-20190221214309569-1638439096.png)
start.yml
![](https://img2018.cnblogs.com/blog/1449650/201902/1449650-20190221214353364-1464567591.png)
copyfile.yml
![](https://img2018.cnblogs.com/blog/1449650/201902/1449650-20190221214453954-399480986.png)
template 使用的是绝对路劲,redis.conf.j2配置文件是复制 cp /etc/redis.conf /roles/redis/templates/redis.conf.j2
三、导入角色下的所有任务
在tasks目录下创建一个main.yml 文件
导入任务:
在~目录下创建一个xxx.yml文件
写入如下内容:
四、启动xxx.yml文件
在启动之前检查文件的正确性:
ansible-playbook --syntax -check xxx.yml
未报错之后启动文件
ansible-playbook xxx.yml
现在如果想创建多个角色并在启动xxx.yml文件的情况下一次性安装所有的软件,可以进行如下的操作