我正在尝试在我的开始时运行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希望能得到这个版本,这样我就可以把它传递给我的其他剧本。
发布于 2019-09-10 14:49:58
通过将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发布于 2019-09-10 14:51:26
正确的语法是(不管版本是什么)。
- name: Set version
set_fact:
version: "{{ wget -O - -o /dev/null https:// ... }}"
- debug:
var: versionhttps://stackoverflow.com/questions/57872457
复制相似问题