获取 ansible-playbook 运行信息 [英] Get ansible-playbook run information

查看:53
本文介绍了获取 ansible-playbook 运行信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果一切正常,或者即使某些任务更改了某些内容,ansible-playbook 运行也会返回 0.

An ansible-playbook run returns 0 if everything was ok or even if some tasks changed something.

如果在上次运行期间发生了某些变化,我正在寻找一种在命令行中获取信息的方法.

I am searching for a way to get the information in the commandline if something changed during the last run.

有人知道这样做的方法吗?

Does someone know a way for this?

背景是我想通过 Jenkins 管道监控我的服务器,并在发生变化时收到警报.

The background is that I want to monitor my servers via an Jenkins pipeline an get an alarm if something changed.

感谢您的帮助.

推荐答案

使用 json 作为 Ansible stdout 回调插件,这样 Ansible 将以 JSON 格式返回机器可解析的输出.

Use json as Ansible stdout callback plugin, this way Ansible will return machine parsable output in JSON format.

例如:

ANSIBLE_STDOUT_CALLBACK=json ansible-playbook myplaybook.yml | jq '.stats | map(select(.changed > 0)) | length'

将打印出发生更改的主机数量.

will print out number of hosts that have something changed.

这篇关于获取 ansible-playbook 运行信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆