博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ansible playbook显示自定义shell参数
阅读量:6907 次
发布时间:2019-06-27

本文共 2841 字,大约阅读时间需要 9 分钟。

今天实现ansible的roles来安装jenkins

roles目录如下

root@centos-mysql01:/data/sh/ansible_role# tree  jenkinsjenkins├── files│   ├── jenkins   #jenkins的defaults的配置文件│   ├── jenkins.io.key  # jenkins的key密钥文件│   └── jenkins.list   #jenkins的源地址文件├── handlers│   └── main.yml├── tasks│   └── main.yml└── vars    └── main.yml

handlers main.yml

root@centos-mysql01:/data/sh/ansible_role# cat jenkins/handlers/main.yml  - name: restart jenkins   listen: jenkins status   service: name=jenkins enabled=yes state=restarted - name: reload jenkins   listen: jenkins status   service: name=jenkins state=reloaded

root@centos-mysql01:/data/sh/ansible_role# cat jenkins/tasks/main.yml    - name: wget install     apt: name=wget state=latest   - name: 获取jenkins的key 导入系统     shell: wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -   - name: 导入list文件     shell: sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'   - name: 安装jenkins     apt: name=jenkins state=present   - name: jenkins conf change     copy: src=jenkins dest={
{jenkins_conf}} notify: - restart jenkins - name: 获取initalAdminPassword shell: filepass=`cat /var/lib/jenkins/secrets/initialAdminPassword` && echo $filepass register: say_hi #重点显示 - debug: var=say_hi.stdout #重点显示

我想要直接显示 jenkins部署的密码文件initalAdminPassword

- name:  获取initalAdminPassword     shell: filepass=`cat /var/lib/jenkins/secrets/initialAdminPassword` && echo $filepass     register: say_hi    #重点显示   - debug: var=say_hi.stdout     #重点显示在ansible中,任何一个模块都会返回json格式的数据,即使是错误信息都是json格式的。在ansible中,json格式的数据,其内每一项都可以通过变量来引用它。当然,引用的前提是先将其注册为变量。例如,下面的playbook是将shell模块中echo命令的结果注册为变量,并使用debug模块输出。      - hosts: benji        tasks:        - shell: echo hello world          register: hanye        - debug: var=hanye root@centos-mysql01:/data/sh/ansible_role# ansible-playbook  register.yml      TASK [debug] *********************************************************************************************************************** ok: [192.168.1.124] => {     "hanye": {         "changed": true,          "cmd": "echo hello world",          "delta": "0:00:00.066617",          "end": "2018-12-25 14:17:35.571232",          "failed": false,          "rc": 0,          "start": "2018-12-25 14:17:35.504615",          "stderr": "",          "stderr_lines": [],          "stdout": "hello world",          "stdout_lines": [             "hello world"         ]     } }

如果我想只显示其中的stdout

- hosts: benji   tasks:    - shell: echo hello world      register: hanye    - debug: var=hanye.stdout

我想显示其中的stdout第一个字符h

- hosts: benji    tasks:     - shell: echo hello world       register: hanye     - debug: var=hanye.stdout[0]
这里只需要把其换成数组展示即可

如果想要获取到对应的ip地址

ansible benji  -m setup -a "filter=*eth*"

转载于:https://blog.51cto.com/9025736/2335024

你可能感兴趣的文章
《工业控制网络安全技术与实践》一导读
查看>>
一次用 7 个 NSA 武器的新 SMB 蠕虫 - EternalRocks
查看>>
本土网络安全公司——上讯信息的“老兵新传”
查看>>
希捷公司投入心力设计10 TB驱动器品牌
查看>>
Python3是趋势还是坑!5年内能普及吗?
查看>>
2020年容器技术市场规模可达27亿美元
查看>>
弱电线缆质量好坏如何轻松辨别
查看>>
构建智能化未来 全闪存将引领存储革命
查看>>
物联网:促进现代服务业转型
查看>>
LiFi有望在3-4年内投入商用
查看>>
大数据:一场管理革命
查看>>
最全面的Spring学习笔记
查看>>
Windows 10新设计语言Project NEON将随RedStone 3亮相
查看>>
美多家网站因网络攻击短暂瘫痪
查看>>
Jarvis对大数据分析的未来将会有哪些帮助?
查看>>
Redux入坑进阶之源码解析
查看>>
中建普联:大数据在工程造价中的应用
查看>>
2015年50+ CSS 工具、框架、库合集
查看>>
Gartner:2017年应用和基础设施中间件软件市场收入将突破270亿美元
查看>>
针对桌面云终端做专用的高性价比CPU,吉湾微电子获首轮融资
查看>>