首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ansible set_fact wget版本

Ansible set_fact wget版本
EN

Stack Overflow用户
提问于 2019-09-10 14:00:18
回答 2查看 68关注 0票数 0

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

我试过这样做,但语法错误,我认为是失败的。

代码语言:javascript
复制
- 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

希望能得到这个版本,这样我就可以把它传递给我的其他剧本。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-10 14:49:58

通过将wget作为shell运行并将其设置为下面的输出查找代码来解决这个问题。

代码语言:javascript
复制
    - 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
票数 0
EN

Stack Overflow用户

发布于 2019-09-10 14:51:26

正确的语法是(不管版本是什么)。

代码语言:javascript
复制
- name: Set version
  set_fact:
    version: "{{ wget -O - -o /dev/null https:// ... }}"

- debug:
    var: version
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57872457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档