42 lines
1.7 KiB
YAML
42 lines
1.7 KiB
YAML
---
|
|
- name: Set common facts
|
|
ansible.builtin.import_tasks: tasks/set-default-facts.yml
|
|
|
|
- name: Deploy {{ svc.name }}
|
|
vars:
|
|
svc: "{{ forgejo_runner_svc }}"
|
|
env: "{{ forgejo_runner_env }}"
|
|
compose: "{{ forgejo_runner_compose }}"
|
|
block:
|
|
- name: Import tasks to create service directory
|
|
ansible.builtin.import_tasks: tasks/steps/create-service-directory.yml
|
|
- name: Import tasks to template docker compose file
|
|
ansible.builtin.import_tasks: tasks/steps/template-docker-compose.yml
|
|
|
|
- name: Copy the config
|
|
ansible.builtin.copy:
|
|
src: config.yml
|
|
dest: "{{ (service_path, 'config.yml') | path_join }}"
|
|
mode: "0755"
|
|
|
|
- name: Check if service.env already exists
|
|
ansible.builtin.stat:
|
|
path: "{{ (service_path, 'service.env') | path_join }}"
|
|
register: env_file
|
|
|
|
- name: Import tasks to prompt for the registration token
|
|
ansible.builtin.import_tasks: tasks/prompt-registration-token.yml
|
|
when: not env_file.stat.exists or force_forgejo_runner_registration | default(False)
|
|
|
|
- name: Import tasks create a service.env file
|
|
ansible.builtin.import_tasks: tasks/steps/template-service-env.yml
|
|
- name: Import start tasks for common service
|
|
ansible.builtin.import_tasks: tasks/start-common-service.yml
|
|
|
|
- name: Register runner
|
|
ansible.builtin.command:
|
|
cmd: docker compose run --rm -it app sh -c
|
|
'forgejo-runner register --no-interactive --token ${FORGEJO_RUNNER_REGISTRATION_TOKEN} --instance ${FORGEJO_INSTANCE_URL}'
|
|
chdir: "{{ service_path }}"
|
|
when: not env_file.stat.exists or force_forgejo_runner_registration | default(False)
|
|
changed_when: true # "when" checks enough. We are sure to change something here.
|