![Como posso baixar a versão mais recente com o módulo Ansible win_get_url?](https://rvso.com/image/769291/Como%20posso%20baixar%20a%20vers%C3%A3o%20mais%20recente%20com%20o%20m%C3%B3dulo%20Ansible%20win_get_url%3F.png)
eu tento baixar oarquivo de instalação mais recentedo nosso repositório JFrog com a seguinte tarefa:
- name: Download Server.msi file from JFrog repository
ansible.windows.win_get_url:
url: "{{ jfrog_url }}/Product/20.100.999.4112/x64/Server.msi"
dest: C:\Server.msi
url_username: "{{ jfrog_username }}"
url_password: "{{ jfrog_password }}"
validate_certs: no
Atualmente, o URL aponta para uma versão específica (ou seja /20.100.999.4112/
)
Como você pode ver, o nome da pasta contém o número da versão da compilação.
Como posso editar esta tarefa de forma que ela baixe o arquivo mais recente a cada vez?
Responder1
Como posso editar esta tarefa de forma que ela baixe o arquivo mais recente a cada vez?
Um manual de exemplo mínimo (... que é semelhante ao trabalho em um ambiente de produção) capturará a versão mais recente primeiro
---
- hosts: localhost # controlnode.example.com
become: false
gather_facts: false
vars:
jfrog_url: artifactory.example.com
tasks:
- name: Get latest version from internal repository
uri:
url: "https://{{ jfrog_url }}/api/storage/Product/?lastModified"
method: GET
url_username: "{{ jfrog_username }}"
url_password: "{{ jfrog_password }}"
validate_certs: true
return_content: true
status_code: 200
body_format: json
register: response
check_mode: false
- set_fact:
filename: '{{ response.json.uri.split("/")[8] }}'
version: '{{ response.json.uri.split("-")[2] }}'
Observe que será necessário ajustar a tarefa de análise e divisão response.json.uri
para obter a estrutura de dados correta filename
e version
personalizada. Depois que ele puder ser baixado
- name: Download file from internal repository
delegate_to: windows.example.com
win_get_url:
url: "https://{{ jfrog_url }}/Product/{{ filename }}"
url_username: "{{ jfrog_username }}"
url_password: "{{ jfrog_password }}"
dest: "C:\Server-{{ version }}.msi"
Documentação