Task Include Files And Encouraging Reuse

假设您想在play或playbook中重复使用任务列表。 您可以使用include文件来执行此操作。 使用include的任务列表是定义系统将要实现的角色的好方法。 请记住,playbook中play的目标是将一组系统映射到多个角色。 让我们看看这是什么样子

一个task include 文件只包含一个平面的任务列表,如下所示:

---

# possibly saved as tasks/foo.yml

- name: placeholder foo

command: /bin/foo

- name: placeholder bar

command: /bin/bar

include指令看起来像这样,并且可以混合在一个playbook中的常规任务: tasks:

- include: tasks/foo.yml 您也可以将变量传递给include。 我们称之为“参数化include”。 例如,要部署到多个wordpress实例,我可以将所有我的wordpress任务封装在一个wordpress.yml文件中,并使用如下所示:

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

从1.0开始,变量也可以使用替代语法传递到包含文件,这也支持结构化变量: tasks:

- include: wordpress.yml     vars:         wp_user: timmy         ssh_keys:           - keys/one.txt           - keys/two.txt

使用任何一种语法,然后可以在包含的文件中使用传入的变量。 我们将在变量中介绍它们。 你可以这样引用它们:

{{ wp_user }} (除了明确传递的参数之外,vars部分中的所有变量也可以在这里使用。)

include也可以在'handler'部分使用,例如,如果你想定义如何重新启动apache,你对所有的Playbook只做一次。 你可能会制作一个看似如下的handlers.yml:

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

而在你的main Playbook文件中,只要把它include进来,放到play的底部:

handlers:   - include: handlers/handlers.yml

ansible 变量传递到include的更多相关文章

  1. atitit.web的动态include 跟变量传递 java .net php

    atitit.web的动态include 跟变量传递 java .net php 1. 动态include  <jsp:include 1 2. 使用QueryString 1 3. 使用Ses ...

  2. Ansible Playbook Roles and Include Statements

    介绍 虽然可以在一个非常大的文件中编写一个playbook(您可能会以这种方式开始学习playbook),但最终您将需要重新使用文件并开始组织事情. 在基本级别,饱含任务的文件允许您将配置策略分解成较 ...

  3. NGINX和PHP之间的环境变量传递

    昨天遇到的,想将IP访问转换成域名访问.则NGINX需要将相关的变量转换后传递给PHP. 网上有一系统的方法: 前面讲过该不该把信息写在服务器配置文件里?.通过php扩展hidef来define常量, ...

  4. ansible变量

    ansible变量 (部分内容摘自互联网,非官方,描述不一定正确) 变量种类: 内置变量facts: 自定义变量: 命令行传递的变量 roles传递的变量 主机变量 组变量 内置变量facts: 由远 ...

  5. 007.Ansible变量Fact,魔法变量和lookup生成变量

    一 fact变量 1.1  fact简介 ansible有一个模块叫setup,用于获取远程主机的相关信息,并可以将这些信息作为变量在playbook里进行调用.而setup模块获取这些信息的方法就是 ...

  6. SQLserver2008如何把表格变量传递到存储过程中

    在Microsoft SQL Server 2008中,你可以实现把表格变量传递到存储过程中,如果变量可以被声明,那么它就可以被传递.下面我们来具体介绍如何把表格变量(包括内含的数据)传递到存储过程和 ...

  7. Laravel教程 三:视图变量传递和Blade

    Laravel教程 三:视图变量传递和Blade 此文章为原创文章,未经同意,禁止转载. Blade 上一篇我们简单地说了Router,Views和Controllers的工作流程,这一次我就按照上一 ...

  8. android 使用静态变量传递数据

    使用静态变量传递数据之通用方式. 测试应用:当前页面点击button传递数据到一个新的页面显示在textview中. 首先在,mainActivity.xml文件中加入一个button按钮 <B ...

  9. vue-cli中父子组件间的变量传递

    vue-cli中父子组件间的变量传递 在vue中每一个组件的作用域都是独立的,如果我们想实现父子组件间变量的传递就要另寻他法,而不能直接调用其中的变量. 父级组件向子级组件传递变量 要实现这种效果我们 ...

随机推荐

  1. 直线的中点Bresenham算法的实现

    一.实验目的 1.掌握在MFC中搭建图形绘制的基本框架的方法: 2.将直线的中点Bresenham算法转化成可执行代码. 二.实验内容 1. 通过分析具体数据在中点Bresenham算法上的执行过程, ...

  2. 何时使用copy,strong,weak,assign关键字 定义属性

    现在我们看看iOS5中新的关键字strong, weak, unsafe_unretained. 可以与以前的关键字对应学习strong与retain类似,weak与unsafe_unretained ...

  3. Android调试技巧之Eclipse行号和Logcat

    很多初入Android的开发者可能会发现经常遇到Force Close或ANR这样的问题,一般我们通过Android系统的错误日志打印工具Logcat可以看到出错的内容,今天一起来说下如何通过 Ecl ...

  4. 竞态条件与sigsuspend函数

    一.利用pause和alarm函数实现sleep函数 #include <unistd.h> int pause(void); pause函数使调用进程挂起直到有信号递达.如果信号的处理动 ...

  5. 敏捷转型中why与how的总结

    敏捷转型參考框架: 为了成功顺畅地推行敏捷开发.下面将对整个敏捷转型參考框架作个整体说明.为企业进行敏捷转型提供基本方法參考.整个敏捷转型參考框架主要包括5个步骤,前两个步骤主要是回答 Wh y的问题 ...

  6. Python2 unichr() 函数

    描述 unichr() 函数 和 chr()函数功能基本一样, 只不过是返回 unicode 的字符. 语法 以下是 unichr() 方法的语法: unichr(i) 参数 i -- 可以是10进制 ...

  7. PHP的cURL快速入门 (小偷采集程序)

    cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.很多小偷程序都是使用这个函数.   最爽的是,PHP也支持 cURL 库.本文将介绍 cUR ...

  8. MySql(七):MySQL性能调优——锁定机制与锁优化分析

    针对多线程的并发访问,任何一个数据库都有其锁定机制,它的优劣直接关系着数据的一致完整性与数据库系统的高并发处理性能.锁定机制也因此成了各种数据库的核心技术之一.不同数据库存储引擎的锁定机制是不同的,本 ...

  9. 一处疑难杂症的术后总结:WebView和JavaScript之间的交互

    近期在公司里參与了M3项目的开发,这个项目是使用HTML5开发的前端页面,在开发完成后,把项目地址写入Android.iOS的壳源代码里面,这样当应用被打开时候自己主动加载项目首页的URL.这样的做法 ...

  10. Javascript玩转继承(三)

    在前两篇文章中,介绍了构造继承和原型继承.今天把剩下的两种写完,这两种的应用相对于前两种来说应用很少,因此称为是非主流继承方式. 首先,来看非主流继承一:实例继承法.我也不说那么多废话了,既然是非主流 ...