小编dio*_*dio的帖子

如何在 Ansible 中对复杂版本号进行排序

我正在构建一个 Ansible 剧本,我想在其中检索软件的最新版本。为此,我在 Ansible 中使用了“排序”过滤器。然而,当使用版本号时,这变得有点困难,版本号更复杂并且不是真正的数字,例如0.2.1, 0.10.1

这就是我现在正在做的事情:

- name: Set version to compare
  set_fact:
    versions:
      - "0.1.0"
      - "0.1.5"
      - "0.11.11"
      - "0.9.11"
      - "0.9.3"
      - "0.10.2"
      - "0.6.1"
      - "0.6.0"
      - "0.11.0"
      - "0.6.5"

- name: Sorted list
  debug:
    msg: "{{ versions | sort }}"

- name: Show the latest element
  debug:
    msg: "{{ versions | sort | last }}"
Run Code Online (Sandbox Code Playgroud)

只要版本号保持在数字 10 以下(例如 0.9.3,但不是 0.10.2),上面的剧本就可以工作。

显示问题:

TASK [Set version to compare] ***************************************************************************************************************
ok: [localhost]

TASK [Sorted …
Run Code Online (Sandbox Code Playgroud)

sorting jinja2 ansible

6
推荐指数
1
解决办法
1627
查看次数

标签 统计

ansible ×1

jinja2 ×1

sorting ×1