首页 > 解决方案 > Ansible 版本比较失败

问题描述

我有一个版本比较问题,在 Ansible 中不适合我。在此示例中,Ansible 运行调试任务,但我希望它被跳过。我正在运行版本 2.10.7。我错过了什么?

---
- hosts: hqdbepo1
  gather_facts: true
  become: false
  tasks:
    - name: check NuGet version
      win_shell: (Get-PackageProvider -Name NuGet -Force | Select-Object Version | Format-Table -HideTableHeaders | Out-String).Trim()
      register: nuget_version
      changed_when: false
      check_mode: false

    - name: Ensure the required NuGet package provider version is installed
      debug: var=nuget_version['stdout_lines'][0]
      when: nuget_version['stdout_lines'][0] | string | replace('', '0.0.0.1') is version('2.8.5.0', '<')

nuget_version['stdout_lines'][0] 是“3.0.0.1”

标签: ansibleconditional-statements

解决方案


是的。结果我认为比较是如果 3.0.0.1 < 2.8.5.0,但情况恰恰相反。


推荐阅读