如何在运行 ansible 任务之前声明特定的最低 Java 版本?

如何在运行 ansible 任务之前声明特定的最低 Java 版本?

我想确保 Java 已安装并且可接受的最旧版本是 11。如何在 ansible 中实现这一点?

我努力了

- name: Fetch Java version
  shell: java -version 2>&1 | grep version | awk '{print $3}' | sed 's/"//g'
  register: java_version

- assert:
    that:
      - java_version.stdout | version_compare('11', '>=')

由于 中的语法已不再有效,因此它不再起作用assert

答案1

显然您只需要在断言中替换|为:is

- name: Fetch Java version
  shell: java -version 2>&1 | grep version | awk '{print $3}' | sed 's/"//g'
  register: java_version

- assert:
    that:
      - java_version.stdout is version_compare('11', '>=')

相关内容