こんな感じで、リリースからアセットのURL取得→ダウンロード、という2ステップにするとまあまあ簡単にできる。
- name: get the release
uri:
url: https://api.github.com/repos/{{ binary_repository }}/releases/tags/{{ binary_release_version }}
return_content: true
register: json_response
- name: download asset
vars:
query: "assets[?ends_with(name, 'linux_amd64.tar.gz')].browser_download_url"
unarchive:
remote_src: yes
src: "{{ json_response.json | to_json | from_json | community.general.json_query(query) | first }}"
dest: "{{ binary_dest_path }}"
owner: xxxxx
group: xxxxx
mode: 0755
sters/ansible-role-onstatic: Ansible role for onstatic でやってみた例としてはこう: https://github.com/sters/ansible-role-onstatic/blob/main/tasks/install_onstatic.yml