Add gitea role for tea cli tool
This commit is contained in:
parent
e711b9f3b2
commit
66efc7b88f
49
roles/gitea/tasks/Linux.yaml
Normal file
49
roles/gitea/tasks/Linux.yaml
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
---
|
||||||
|
- name: stat tea executable
|
||||||
|
stat:
|
||||||
|
path: '{{tea_package_exe}}'
|
||||||
|
register: tea
|
||||||
|
|
||||||
|
- name: get installed version
|
||||||
|
when: tea.stat.exists
|
||||||
|
command: '{{tea_package_exe}} --version'
|
||||||
|
register: tea_version_string
|
||||||
|
|
||||||
|
- name: extract version number
|
||||||
|
when: tea.stat.exists
|
||||||
|
set_fact:
|
||||||
|
installed_version: "{{tea_version_string.stdout |
|
||||||
|
regex_search('^.*(\\d+\\.\\d+\\.\\d+).*golang.*$', '\\1') }}"
|
||||||
|
|
||||||
|
- name: get latest release json
|
||||||
|
uri:
|
||||||
|
url: https://gitea.com/api/v1/repos/gitea/tea//releases/latest
|
||||||
|
register: latest
|
||||||
|
|
||||||
|
- name: check installed version
|
||||||
|
set_fact:
|
||||||
|
install_required: >
|
||||||
|
{{not tea.stat.exists or latest.json.name != 'v' + installed_version[0]}}
|
||||||
|
asset: '{{latest.json.assets | json_query(tea_asset_query)}}'
|
||||||
|
|
||||||
|
- name: create package directory
|
||||||
|
when: install_required
|
||||||
|
become: true
|
||||||
|
file:
|
||||||
|
state: directory
|
||||||
|
path: '{{tea_package_dir}}/bin'
|
||||||
|
|
||||||
|
- name: download package
|
||||||
|
when: install_required
|
||||||
|
become: true
|
||||||
|
get_url:
|
||||||
|
url: '{{asset.browser_download_url}}'
|
||||||
|
dest: '{{tea_package_exe}}'
|
||||||
|
mode: '0755'
|
||||||
|
|
||||||
|
- name: install package
|
||||||
|
when: install_required
|
||||||
|
become: true
|
||||||
|
command:
|
||||||
|
cmd: 'stow --target /usr/local .'
|
||||||
|
chdir: '{{tea_package_dir}}'
|
12
roles/gitea/tasks/main.yaml
Normal file
12
roles/gitea/tasks/main.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
- when: ansible_os_family != 'Darwin' and ansible_os_family != 'Windows'
|
||||||
|
include_tasks: Linux.yaml
|
||||||
|
|
||||||
|
- when: ansible_os_family == 'Windows'
|
||||||
|
include_tasks: Windows.yaml
|
||||||
|
|
||||||
|
- name: install homebrew package
|
||||||
|
when: ansible_os_family == 'Darwin'
|
||||||
|
homebrew:
|
||||||
|
name: tea
|
||||||
|
state: latest
|
4
roles/gitea/vars/main.yaml
Normal file
4
roles/gitea/vars/main.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
tea_package_dir: /usr/local/stow/tea
|
||||||
|
tea_package_exe: '{{tea_package_dir}}/bin/tea'
|
||||||
|
tea_asset_query: '[?contains(name, `tea-`)] | [?contains(name, `linux-amd64`)] | [0]'
|
Loading…
x
Reference in New Issue
Block a user