实例学习ansible系列(16)playbook中自定义环境变量的使用

原创 2016年08月29日 07:53:30

在前面的文章中我们使用过环境变量, 但是用户自定义或者随时export出来的环境变量却无法直接引用,而这种方式却是实际工作中用到的最多的情况,使用ansible提供的lookup便可解决这个问题.

定义一个环境变量并export:# export MESSAGE="hello world information"

准备一个简单的playbook用于使用此环境变量

[root@host31 ~]# cat hello.playbook
- hosts: host31
  gather_facts: false
  tasks:
    - name:  say hello task
      shell: echo ${HOSTNAME} {{ lookup('env','MESSAGE') }}  `date` by `hostname` >/tmp/hello.log
[root@host31 ~]#

执行

[root@host31 ~]# ansible-playbook hello.playbook

PLAY [host31] ******************************************************************

TASK [say hello task] **********************************************************
changed: [host31]

PLAY RECAP *********************************************************************
host31                     : ok=1    changed=1    unreachable=0    failed=0

[root@host31 ~]#

结果确认:可以看到环境变量MESSAGE的内容已被替换

[root@host31 ~]# cat /tmp/hello.log
host31 hello world information Sun Aug 28 19:52:06 EDT 2016 by host31
[root@host31 ~]#
版权声明:本文为博主原创文章,未经博主允许欢迎转载,但请注明出处。

实例学习ansible系列(13)第一个playbook

知识点:ansible使用playbook来管理自动化task。playbook是yaml格式的文件,其基本内容可以认为是多条ansible的ad-hoc的语句组成。我们在前面尝试了很多常用modul...

Ansible中自定义变量的使用

Ansible自定义变量的定义方式有以下四种: 1,通过命令行定义变量 2,在playbook中定义变量 3,在主机清单文件中定义变量 4,通过roles角色定义变量 本文将主要针对Ansible中定...

Ansible系列(5): Playbook

Ansible的核心:playbook

利用ansible-playbook从测试环境获取tomcat中java项目新版本发布到生产环境

一、环境描述 安装有ansible的服务器: 测试环境服务器: /home/app/api-tomcat/webapps/为测试环境新版本war包位置 生产环境服务器: /hom...
  • qcq8208
  • qcq8208
  • 2017年01月14日 11:02
  • 665

Ansible之playbook学习一

简单来说,playbooks 是一种简单的配置管理系统与多机器部署系统的基础.与现有的其他系统有不同之处,且非常适合于复杂应用的部署. 官方提供了大量的例子:https://github.com/a...
  • uevol14
  • uevol14
  • 2016年07月14日 11:55
  • 951

Ansible学习之playbook(4)

1. Playbook简介 Playbook包含plays,每一个play里面包含task。 playbook是一些列的task按照一定的规则和顺序组合在一起的执行工作流。假如Ansible的模块...
  • biheyu
  • biheyu
  • 2015年01月10日 14:19
  • 1498

Cloud Foundry中DEA启动应用实例时环境变量的使用

在Cloud Foundry v2中,当应用用户需要启动应用的实例时,用户通过cf CLI向cloud controller发送请求,而cloud controller通过NATS向DEA转发启动请求...
  • shlazww
  • shlazww
  • 2014年07月22日 13:31
  • 2677

sharepoint 2016 学习系列篇(16)-自定义列表应用篇-(5)列表的快速编辑功能

平时我们都是通过新增按钮进行添加数据,其实还有一种更加方便使用,而且快捷的方式录入数据,就是列表的快速编辑功能,这里我们来演示下,这个功能的好用之处。打开前面创建好的用户信息表,点击快速编辑(edit...

Shell(bash)脚本学习之--------内建/外建,自定义变量和环境变量

首先我们先来看看我们系统上有那些shell $ cat /etc/shells # /etc/shells: valid login shells /bin/csh /bin/sh /usr/b...

实例学习ansible系列(5)常用模块之copy

知识点:使用copy模块,可以实现向目标机器进行远程copy的能力。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实例学习ansible系列(16)playbook中自定义环境变量的使用
举报原因:
原因补充:

(最多只允许输入30个字)