Files
ansible-fte/playbooks/gitea.yml
2024-07-10 15:14:40 +02:00

116 lines
3.0 KiB
YAML

# code language=ansible
---
- name: Install act_runner
hosts: main
vars:
gitea__tasks:
- all
vars_prompt:
- name: gitea__runner_token
prompt: Input your runner token obtained on https://git.ftecke.de/user/settings/actions/runners
private: false
- name: gitea__runner_name
prompt: Name of the new runner
private: false
- name: gitea__runner_labels
prompt: Labels of the new runner
private: false
tasks:
- name: Get latest act_runner version
ansible.builtin.uri:
url: https://gitea.com/api/v1/repos/gitea/act_runner/releases
method: GET
force: true
return_content: true
run_once: true
register: json_response
- name: Install act_runner {{ act_runner_version }}
vars:
act_runner_version: "{{ (json_response.content | from_json)[0].name | replace('v', '') }}"
ansible.builtin.get_url:
url: https://gitea.com/gitea/act_runner/releases/download/v{{ act_runner_version }}/act_runner-{{ act_runner_version }}-linux-amd64
dest: /usr/local/bin/act_runner
mode: 0755
- name: Create runner user
ansible.builtin.user:
name: runner
password: !
append: true
groups: docker
create_home: true
home: /opt/runner
- name: Set correct home directory permissions
ansible.builtin.file:
name: /opt/runner
state: directory
owner: runner
group: runner
recurse: true
- name: Copy config file
ansible.builtin.copy:
src: runner-config.yml
dest: /opt/runner/config.yml
owner: runner
group: runner
- name: Register runner
ansible.builtin.command:
chdir: /opt/runner
creates: /opt/runner/.runner
argv:
- /usr/local/bin/act_runner
- register
- --instance
- "https://git.ftecke.de/"
- --name
- "{{ gitea__runner_name }}"
- --labels
- "{{ gitea__runner_labels }}"
- --token
- "{{ gitea__runner_token }}"
- --no-interactive
- -c
- /opt/runner/config.yml
- name: Set correct .runner file permissions
ansible.builtin.file:
name: /opt/runner/.runner
state: file
owner: runner
group: runner
- name: Copy systemd service file
ansible.builtin.copy:
src: act_runner.service
dest: /etc/systemd/system/
owner: root
group: root
- name: Enable systemd service
ansible.builtin.systemd:
daemon_reload: true
name: act_runner.service
enabled: true
state: started
- name: Copy update script
ansible.builtin.copy:
src: "act_runner-updater.sh"
dest: /opt/act_runner-updater.sh
mode: 0755
owner: root
group: root
- name: Create working directory
ansible.builtin.file:
name: /opt/runner/workdir
state: directory
owner: runner
group: runner
recurse: true