105 lines
2.5 KiB
YAML
105 lines
2.5 KiB
YAML
---
|
|
- name: Deploy Gitea
|
|
hosts: gitea
|
|
become: true
|
|
gather_facts: false
|
|
|
|
|
|
vars:
|
|
__gitea_version : 1.20.5
|
|
__gitea_arch : amd64
|
|
__gitea_binary : "https://dl.gitea.io/gitea/{{ __gitea_version }}/\
|
|
gitea-{{ __gitea_version }}-linux-{{ __gitea_arch }}"
|
|
|
|
__gitea_user:
|
|
name : gitea
|
|
gecos : Git with a cup of tea
|
|
shell : /bin/bash
|
|
home : /home/gitea
|
|
|
|
|
|
tasks:
|
|
- name: Install Git
|
|
ansible.builtin.package:
|
|
name : git
|
|
state : present
|
|
|
|
|
|
- name: Check if Gitea is present and is correct version
|
|
ansible.builtin.command : /usr/local/bin/gitea --version
|
|
ignore_errors : true
|
|
changed_when : false
|
|
register : r_check_gitea
|
|
|
|
|
|
- name: Fetch Gitea binary and notify user
|
|
when :
|
|
- (r_check_gitea.rc == 1 or r_check_gitea.stdout is not search(__gitea_version))
|
|
block:
|
|
- name: Gitea binary not found or version mismatch
|
|
ansible.builtin.debug :
|
|
msg : "Gitea binary not found or version mismatch."
|
|
|
|
- name: "Fetch Gitea {{ __gitea_version }}"
|
|
ansible.builtin.get_url :
|
|
url : "{{ __gitea_binary }}"
|
|
dest : /usr/local/bin/gitea
|
|
mode : "0755"
|
|
notify : Restart Gitea
|
|
|
|
|
|
- name: Create Gitea user
|
|
ansible.builtin.user:
|
|
name : "{{ __gitea_user.name }}"
|
|
comment : "{{ __gitea_user.gecos }}"
|
|
shell : "{{ __gitea_user.shell }}"
|
|
home : "{{ __gitea_user.home }}"
|
|
create_home : true
|
|
state : present
|
|
|
|
|
|
- name: Create required directories
|
|
ansible.builtin.file:
|
|
path : "{{ item }}"
|
|
state : directory
|
|
recurse : true
|
|
owner : "{{ __gitea_user.name }}"
|
|
group : "{{ __gitea_user.name }}"
|
|
mode : "0750"
|
|
loop:
|
|
- /var/lib/gitea/custom
|
|
- /var/lib/gitea/data
|
|
- /var/lib/gitea/log
|
|
- /etc/gitea
|
|
|
|
|
|
- name: Deploy unit file for Gitea
|
|
ansible.builtin.template:
|
|
src : templates/gitea.service.j2
|
|
dest : /etc/systemd/system/gitea.service
|
|
owner : root
|
|
group : root
|
|
mode : "0644"
|
|
|
|
|
|
- name: Reload Systemd
|
|
ansible.builtin.systemd:
|
|
daemon_reload: true
|
|
|
|
|
|
- name: Start Gitea
|
|
ansible.builtin.service:
|
|
name : gitea
|
|
state : started
|
|
enabled : true
|
|
|
|
|
|
handlers:
|
|
- name: Restart Gitea
|
|
ansible.builtin.service:
|
|
name : gitea
|
|
state : restarted
|
|
|
|
|
|
...
|