Ansible set_fact wget 版本

Ansible set_fact wget version

我正在尝试 运行 我的 ansible-playbook 开头的 set_fact 任务来设置一个版本并在我的剧本中使用它。

我已经试过了,但语法不正确,我想

- name: "SO Nightly code build"
  remote_user: root
  hosts: cleanroom
  tasks:
    - name: Set version
      set_fact:
        version: {{wget -O - -o /dev/null https://repo1.maven.org/maven2/org/brutusin/wava/maven-metadata.xml | grep -Po '(?<=<version>)([0-9\.]+(-SNAPSHOT)?)' | sort --version-sort -r| head -n 1}}
      debug var=version

希望获得该版本,以便我可以将其传递给我的其他剧本

通过 运行 wget 解决了它作为 shell 并将其设置为下面的输出查找代码

    - name: Set code version
      shell:  wget -O - -o /dev/null wget -O - -o /dev/null https://repo1.maven.org/maven2/org/brutusin/wava/maven-metadata.xml | grep -Po '(?<=<version>)([0-9\.]+(-SNAPSHOT)?)' | sort --version-sort -r| head -n 1
      register: shell_output

    - name: set version
      set_fact:
        code_version: "{{ shell_output.stdout }}"
        debug: var=code_version

正确的语法是(无论版本是什么)。

- name: Set version
  set_fact:
    version: "{{ wget -O - -o /dev/null https:// ... }}"

- debug:
    var: version