如何在不使用“-v”选项的情况下显示 Ansible 剧本的任务输出
How to display output of tasks of an Ansible playbook without using the '-v' option
我有以下任务来打印出安装在某些服务器上的当前版本的 jenkins:
---
- hosts: all
remote_user: user
tasks:
- name: Printing the Jenkins version running on the masters
yum:
name: jenkins
register: version
- debug: var=version
我试图避免在 运行 编写 playbook 时使用 -v
选项,希望尽可能保持输出干净。
如果剧本是 运行 而没有 -v
选项,则输出如下所示:
TASK [Printing the jenkins version that is installed on each of the servers]***************
ok: [Server1]
ok: [Server2]
ok: [Server3]
TASK [debug] ******************************************************************* ok: [Server1] => {
"changed": false,
"version": "VARIABLE IS NOT DEFINED!"
}
ok: [Server1] => {
"changed": false,
"version": "VARIABLE IS NOT DEFINED!"
}
ok: [Server1] => {
"changed": false,
"version": "VARIABLE IS NOT DEFINED!"
}
但是 returns 该版本未定义。我对为什么会发生这种情况感到困惑,因为我已经以相同的方式为一堆其他任务完成了打印,没有任何问题。非常感谢任何建议。
您可以创建 ansible 回调插件,或使用网络中可用的插件
即
您可以使用 shell 和 debug
来实现
---
- hosts: all
remote_user: user
become: True
become_method: sudo
tasks:
- name: Printing the Jenkins version running on the masters
shell: cat /var/lib/jenkins/config.xml | grep '<version>'
register: version
- debug: var={{ version['stdout'] }}
我有以下任务来打印出安装在某些服务器上的当前版本的 jenkins:
---
- hosts: all
remote_user: user
tasks:
- name: Printing the Jenkins version running on the masters
yum:
name: jenkins
register: version
- debug: var=version
我试图避免在 运行 编写 playbook 时使用 -v
选项,希望尽可能保持输出干净。
如果剧本是 运行 而没有 -v
选项,则输出如下所示:
TASK [Printing the jenkins version that is installed on each of the servers]***************
ok: [Server1]
ok: [Server2]
ok: [Server3]
TASK [debug] ******************************************************************* ok: [Server1] => {
"changed": false,
"version": "VARIABLE IS NOT DEFINED!"
}
ok: [Server1] => {
"changed": false,
"version": "VARIABLE IS NOT DEFINED!"
}
ok: [Server1] => {
"changed": false,
"version": "VARIABLE IS NOT DEFINED!"
}
但是 returns 该版本未定义。我对为什么会发生这种情况感到困惑,因为我已经以相同的方式为一堆其他任务完成了打印,没有任何问题。非常感谢任何建议。
您可以创建 ansible 回调插件,或使用网络中可用的插件 即
您可以使用 shell 和 debug
来实现---
- hosts: all
remote_user: user
become: True
become_method: sudo
tasks:
- name: Printing the Jenkins version running on the masters
shell: cat /var/lib/jenkins/config.xml | grep '<version>'
register: version
- debug: var={{ version['stdout'] }}