use*_*394 4 ansible ansible-facts ansible-inventory
我正在尝试获取本地版本并将其用作其他远程主机中的 var
在ansible中使用set_fact模块
在本地
- 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
run_once: true
Run Code Online (Sandbox Code Playgroud)
远程操作
- name: test code version
debug:
msg: code version is " {{ code_version }} "
Run Code Online (Sandbox Code Playgroud)
出现以下错误:The task includes an option with an undefined variable. The error was: 'code_version'
如果有什么方法可以实现这一点?
您可以使用变量访问其他主机中定义的变量hostvars。
例如:
- debug:
msg: "{{ hostvars['localhost']['code_version'] }}"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8051 次 |
| 最近记录: |