You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWX剧本中通过ansible.builtin.package_facts输出Nginx版本信息

问题分析与修正方案

原剧本存在以下几个问题:

  • debug模块同时使用var和msg参数会产生冲突,无法正确输出自定义提示信息
  • 错误使用ansible_version变量,该变量指向Ansible自身版本,而非Nginx的版本
  • 未处理Nginx未安装的场景,无法反馈实例的未安装状态
  • 多余的register: op配置,debug模块的输出无需注册变量

修正后的Ansible剧本

- name: Gather package facts
  ansible.builtin.package_facts:
    manager: auto

- name: Check Nginx installation status and version
  ansible.builtin.debug:
    msg: "Nginx is installed, version: {{ ansible_facts.packages['nginx'][0].version }}"
  when: "'nginx' in ansible_facts.packages"

- name: Notify if Nginx is not installed
  ansible.builtin.debug:
    msg: "Nginx is not installed on this instance"
  when: "'nginx' not in ansible_facts.packages"

说明

  1. 收集包事实后,通过两个debug任务分别处理已安装和未安装的场景
  2. 已安装时,从ansible_facts.packages['nginx'][0].version中提取Nginx的版本号(packages['nginx']是一个列表,第一个元素即为已安装的包信息)
  3. 未安装时,直接输出明确的提示信息

内容的提问来源于stack exchange,提问作者Chris Stevenson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 07:50:29