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