我想从artifactory下载文件beat7.15.2二进制文件。我在我的攻略中传递版本为7-15-2,但只想在uri模块中将攻略中的版本更改为7.15.2。我的二进制文件存储在example.com/artifactory/mvn-public-local/com/dbdb/rf/devops/filebeat/7-15-2/filebeat-7.15.2-linux-x86_64.tar.gz中
我的攻略:
- hosts: "{{ deployment_environment }}"
remote_user: "{{ user }}"
gather_facts: no
vars_files:
- params.yml
vars:
artifactory_url: "example.com/artifactory/mvn-public-local/com/dbdb/rf/devops"
artifact_name: "filebeat"
release_url: "{{ artifactory_url }}/{{ artifact_name }}/{{ filebeat_version }}"
tasks:
- set_fact:
env_param: "{{ deployment_environment }}"
- name: Create filebeat directory if not exist.
file:
path: "{{ env_select[env_param].deployment_path }}/filebeat"
state: directory
mode: 0755
recurse: yes
- name: remove old scripts from box
shell: "cd {{ env_select[env_param].deployment_path }}/filebeat; rm -rf *"
- name: Download scripts from artifactory
uri:
url: "{{ release_url }}/filebeat-{{ filebeat_version }}-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_version}}-linux-x86_64.tar.gz"我的策略是这样运行的
ansible-playbook download_filebeat.yml deployment_environment user filebeat_versionansible-playbook download_filebeat.yml uat1 user1 7-15-2我收到错误,因为找不到url:"url":"example.com/artifactory/mvn-public-local/com/dbdb/rf/devops/filebeat/7-15-2/filebeat-7-15-2-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更改为example.com/artifactory/mvn-public-local/com/dbdb/rf/devops/filebeat/7-15-2/filebeat-7.15.2-linux-x86_64.tar.gz的任何建议
发布于 2021-11-17 14:00:33
你试过了吗?
#...
- name: Download scripts from artifactory
uri:
url: "{{ release_url }}/filebeat-{{ filebeat_version | regex_replace('-','.') }}-linux-x86_64.tar.gz"
creates: "{{ env_select[env_param].deployment_path }}/filebeat-{{ filebeat_version | regex_replace('-','.') }}-linux-x86_64.tar.gz"
#...您还可以将解析后的filebeat版本存储为任务自己的变量/事实,如下所示
- name: "Set filebeat semver"
set_fact:
filebeat_semver: "{{ filebeat_version | regex_replace('-','.') }}"然后,您可以在需要解析的语义版本时使用filebeat_semver。
https://stackoverflow.com/questions/70005041
复制相似问题