ansible
This commit is contained in:
parent
b81f7e15b2
commit
67414814c0
23 changed files with 310 additions and 190 deletions
|
|
@ -29,17 +29,58 @@
|
|||
state: present
|
||||
register: runner_output
|
||||
|
||||
- name: Display runner registration instructions
|
||||
- name: Check if runner is already registered
|
||||
ansible.builtin.stat:
|
||||
path: /opt/forgejo-runner/data/.runner
|
||||
register: runner_registered
|
||||
|
||||
- name: Set permissions on data directory
|
||||
ansible.builtin.file:
|
||||
path: /opt/forgejo-runner/data
|
||||
state: directory
|
||||
mode: '0777'
|
||||
recurse: true
|
||||
when: not runner_registered.stat.exists
|
||||
|
||||
- name: Stop runner for registration
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /opt/forgejo-runner
|
||||
state: stopped
|
||||
when: not runner_registered.stat.exists
|
||||
|
||||
- name: Register runner with Forgejo
|
||||
ansible.builtin.command:
|
||||
cmd: >
|
||||
docker run --rm
|
||||
-v /opt/forgejo-runner/data:/data
|
||||
-v /opt/forgejo-runner/config/config.yaml:/config.yaml
|
||||
code.forgejo.org/forgejo/runner:{{ forgejo_runner_version }}
|
||||
forgejo-runner register
|
||||
--no-interactive
|
||||
--token {{ forgejo_runner_token }}
|
||||
--name runner-{{ inventory_hostname }}
|
||||
--instance http://10.10.0.10:{{ forgejo_http_port }}
|
||||
--labels ubuntu-latest:docker://node:20-bookworm,ubuntu-22.04:docker://node:20-bookworm,ubuntu-24.04:docker://node:22-bookworm,debian-latest:docker://debian:bookworm,debian-12:docker://debian:bookworm,debian-11:docker://debian:bullseye,arch-latest:docker://archlinux:latest,nginx-latest:docker://nginx:latest,nginx-alpine:docker://nginx:alpine,node-20:docker://node:20,node-22:docker://node:22,python-3.11:docker://python:3.11,python-3.12:docker://python:3.12,alpine-latest:docker://alpine:latest
|
||||
when: not runner_registered.stat.exists
|
||||
register: registration_result
|
||||
|
||||
- name: Start runner after registration
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /opt/forgejo-runner
|
||||
state: present
|
||||
when: not runner_registered.stat.exists
|
||||
|
||||
- name: Display runner status
|
||||
debug:
|
||||
msg: |
|
||||
Forgejo Runner deployed successfully!
|
||||
|
||||
To register the runner with Forgejo:
|
||||
1. Log in to Forgejo at https://{{ forgejo_domain }}
|
||||
2. Go to Site Administration > Actions > Runners
|
||||
3. Generate a registration token
|
||||
4. Run: docker exec -it forgejo-runner forgejo-runner register --no-interactive \
|
||||
--token YOUR_TOKEN \
|
||||
--name runner-{{ inventory_hostname }} \
|
||||
--instance http://10.10.0.10:{{ forgejo_http_port }}
|
||||
5. Restart the runner: cd /opt/forgejo-runner && docker compose restart
|
||||
Runner name: runner-{{ inventory_hostname }}
|
||||
Forgejo instance: http://10.10.0.10:{{ forgejo_http_port }}
|
||||
{% if runner_registered.stat.exists %}
|
||||
Status: Already registered (using existing registration)
|
||||
{% else %}
|
||||
Status: Newly registered
|
||||
{% endif %}
|
||||
|
||||
Check runner status: docker logs forgejo-runner
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue