110 lines
2.9 KiB
YAML
110 lines
2.9 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.cantorgymnasium.de/org/gcg/settings/actions/runners
|
|
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.cantorgymnasium.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_service:
|
|
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
|