我想從 artifactory 下載 filebeat7.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_version
ansible-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
uj5u.com熱心網友回復:
你有沒有嘗試過
#...
- 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://www.uj5u.com/qukuanlian/359441.html
下一篇:訪問特定路徑時如何運行腳本?
