inital version
This commit is contained in:
71
tasks/main.yml
Normal file
71
tasks/main.yml
Normal file
@@ -0,0 +1,71 @@
|
||||
# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/get_url_module.html
|
||||
# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/user_module.html
|
||||
# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/copy_module.html
|
||||
# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/template_module.html
|
||||
# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/stat_module.html
|
||||
# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/command_module.html
|
||||
# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/service_module.html
|
||||
---
|
||||
- name: check runner token
|
||||
ansible.builtin.fail:
|
||||
msg: no token is set!
|
||||
when: RUNNER_TOKEN == None
|
||||
|
||||
- name: create runner user
|
||||
ansible.builtin.user:
|
||||
name: "{{ RUNNER_USER }}"
|
||||
create_home: yes
|
||||
home: "{{ RUNNER_DIR }}"
|
||||
|
||||
- name: download runner
|
||||
delegate_to: localhost
|
||||
run_once: true
|
||||
ansible.builtin.get_url:
|
||||
url: "{{ RUNNER_DOWNLOAD_URL }}"
|
||||
dest: "/{{ RUNNER_DOWNLOAD_DIR }}/{{ RUNNER_NAME }}"
|
||||
mode: '0440'
|
||||
|
||||
- name: copy runner binary
|
||||
copy:
|
||||
src: "{{ RUNNER_DOWNLOAD_DIR }}/{{ RUNNER_NAME }}"
|
||||
dest: "{{ RUNNER_DIR }}/{{ RUNNER_NAME }}"
|
||||
owner: "{{ RUNNER_USER }}"
|
||||
group: "{{ RUNNER_GROUP | default(RUNNER_USER) }}"
|
||||
mode: '0770'
|
||||
|
||||
- name: create runner config
|
||||
ansible.builtin.template:
|
||||
src: conf.yml.j2
|
||||
dest: "{{ RUNNER_DIR }}/conf.yml"
|
||||
owner: "{{ RUNNER_USER }}"
|
||||
group: "{{ RUNNER_GROUP | default(RUNNER_USER) }}"
|
||||
mode: '0660'
|
||||
|
||||
- name: create runner service file
|
||||
notify: reload daemons
|
||||
ansible.builtin.template:
|
||||
src: runner.service.j2
|
||||
dest: "/etc/systemd/system/{{ RUNNER_SERVICE_NAME }}"
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0600'
|
||||
|
||||
- name: flush handlers
|
||||
meta: flush_handlers
|
||||
|
||||
- name: check if runner registerd
|
||||
stat:
|
||||
path: "{{ RUNNER_DIR }}/.runner"
|
||||
register: stat_result
|
||||
|
||||
- name: register runner
|
||||
command: "{{ RUNNER_DIR }}/{{ RUNNER_NAME }} register --no-interactive --instance {{ RUNNER_INSTANCE }} --token {{ RUNNER_TOKEN }}"
|
||||
when:
|
||||
- not stat_result.stat.exists
|
||||
- RUNNER_TOKEN != None
|
||||
|
||||
- name: enable runner
|
||||
notify: restart runner
|
||||
ansible.builtin.service:
|
||||
name: "{{ RUNNER_SERVICE_NAME }}"
|
||||
enabled: yes
|
||||
Reference in New Issue
Block a user