首页 » 翻译 » Ansible 入门 » 正文

ansible 入门教程04 include

按照官方文档,include就是把一些小的,可以多个play使用的小功能,分别放到单独的文件中,使用的时候引用即可,类似我们现在制作网站使用的头部,底部引用,修改的时候修改一个地方,不需要挨个页面修改

例如:
我们先创建一个文件叫:
tasks/foo.yml

内容如下:

– name: placeholder foo
command: /bin/foo

– name: placeholder bar
command: /bin/bar

其实就是两个task,然后,当我们想要用两个task的时候,我们只需要:

在playbook中加入如下内容即可

tasks:

– include: tasks/foo.yml

当然,在引用的时候我们也可以传递变量来获得不同的效果

tasks:
– include: wordpress.yml wp_user=timmy
– include: wordpress.yml wp_user=alice
– include: wordpress.yml wp_user=bob

下面是一个Handler的例子


# this might be in a file like handlers/handlers.yml
– name: restart apache
service: name=apache state=restarted

然后在playbook中只需要:

handlers:
– include: handlers/handlers.yml

那么问题来了,我们如果写了很多个这样各种功能的小文件,在调用的时候可能需要是-include100次,拷贝复制也是很烦的,官方给出的另外一个解决方案就是role!

role就是一个自动加载的规则,自动加载文件里边的task,handler,vars,而不用一个一个主义的引用

role就是自动引用

欢迎转载,转载请注明出处:http://www.503error.com/

Zhiming Zhang

Senior devops at Appannie
一个奔跑在运维路上的胖子
Zhiming Zhang

Latest posts by Zhiming Zhang (see all)