You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible uri模块替换版本字符串实现filebeat包正确下载

你可以直接使用Jinja2内置的replace过滤器对文件名中的版本号做临时替换,不会修改原filebeat_version变量的值,完全符合你仅在uri模块转换格式的需求。

具体修改方案

只需要调整Download scripts from artifactory任务的url和creates两个参数即可,路径部分的release_url不需要修改(路径中的版本号本身就是7-15-2格式,符合存储规则):

  1. 把文件名中引用filebeat_version的部分,替换为{{ filebeat_version | replace('-', '.') }}
  2. 顺便修正creates参数的路径(原写法路径少了/filebeat二级目录,会导致文件存在性判断失效,每次都会重复下载)

修改后的完整任务代码如下:

- name: Download scripts from artifactory
  uri:
    url: "{{ release_url }}/filebeat-{{ filebeat_version | replace('-', '.') }}-linux-x86_64.tar.gz"
    method: GET
    validate_certs: no
    force_basic_auth: true
    return_content: no
    force: no
    user: "{{ arti_username }}"
    password: "{{ arti_pass }}"
    dest: "{{ env_select[env_param].deployment_path }}/filebeat"
    creates: "{{ env_select[env_param].deployment_path }}/filebeat/filebeat-{{ filebeat_version | replace('-', '.') }}-linux-x86_64.tar.gz"

修改后生成的下载地址会自动匹配实际存储路径:
example.com/artifactory/mvn-public-local/com/dbdb/rf/devops/filebeat/7-15-2/filebeat-7.15.2-linux-x86_64.tar.gz

内容的提问来源于stack exchange,提问作者Priya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:06:03