如何将变量的内容设置为 HTTP 调用的结果?

如何将变量的内容设置为 HTTP 调用的结果?

我正在尝试查询artifactory以找到与给定的全局模式匹配的最新版本。我想将其输出设置为一个变量,以便以后可以与模块一起使用maven_artifact。我原本想进行查找,但这是在控制器机器上执行的。

使用get_url我有以下内容:

- name: Get App Version
  get_url:
    url: "{{ artifactory_search }}?g=com.test.app&a=my-app&v=*qa*&repos=libs-release-local"
    dest: "{{ app_dir }}/version"
  tags:
  - testing

所以现在我只需要进入{{ app_dir }}/version一个变量。

答案1

您还可以uri像这样使用该模块:

- name: Fetch instance metadata
  uri:
    url: http://169.254.169.254/path/to/ip_address
    return_content: yes
  register: jsondata

- debug: msg="Operating on instance {{ jsondata['content'] }}"

答案2

好的,明白了。使用命令模块我能够cat读取下载文件的内容。

- name: Get App Version
  get_url:
    url: "{{ artifactory_search }}?g=com.test.app&a=my-app&v=*qa*&repos=libs-release-local"
    dest: "{{ app_dir }}/version"
- name: Read App Version
  command: cat {{ app_dir }}/version
  register: app_version
- debug:
    msg: "App Version {{ app_version.stdout }}"

相关内容