36 lines
980 B
YAML
36 lines
980 B
YAML
|
---
|
||
|
- name: Get existing config.toml
|
||
|
slurp:
|
||
|
src: "{{ gitlab_runner_config_file }}"
|
||
|
register: runner_config_file
|
||
|
become: "{{ gitlab_runner_system_mode }}"
|
||
|
|
||
|
- name: Get pre-existing runner configs
|
||
|
set_fact:
|
||
|
runner_configs: "{{ (runner_config_file['content'] | b64decode).split('[[runners]]\n') }}"
|
||
|
|
||
|
- name: Create temporary directory
|
||
|
tempfile:
|
||
|
state: directory
|
||
|
suffix: gitlab-runner-config
|
||
|
register: temp_runner_config_dir
|
||
|
check_mode: no
|
||
|
changed_when: false
|
||
|
|
||
|
- name: Write config section for each runner
|
||
|
include_tasks: config-runner.yml
|
||
|
loop: "{{ runner_configs }}"
|
||
|
loop_control:
|
||
|
index_var: runner_config_index
|
||
|
loop_var: runner_config
|
||
|
|
||
|
- name: Assemble new config.toml
|
||
|
assemble:
|
||
|
src: "{{ temp_runner_config_dir.path }}"
|
||
|
dest: "{{ gitlab_runner_config_file }}"
|
||
|
delimiter: '[[runners]]\n'
|
||
|
backup: yes
|
||
|
validate: "{{ gitlab_runner_executable }} verify -c %s"
|
||
|
mode: 0600
|
||
|
become: "{{ gitlab_runner_system_mode }}"
|