Initial commit

This commit is contained in:
2024-02-25 01:14:24 +03:00
commit 1f9873579c
12 changed files with 174 additions and 0 deletions

24
tasks/config.yml Normal file
View File

@@ -0,0 +1,24 @@
---
- name: Create gitlab runner user
user:
name: "{{ gitlab_runner_user }}"
comment: "User for gitlab runner"
state: present
create_home: false
when: gitlab_runner_user != 'root'
- name: create gitlab runner service
template:
src: gitlab-runner.service.j2
dest: /etc/systemd/system/gitlab-runner.service
register: gitlab_runner_service
- name: Create GitLab runner work directory
ansible.builtin.file:
path: "{{ gitlab_runner_working_directory }}"
state: directory
owner: "{{ gitlab_runner_user }}"
group: "{{ gitlab_runner_user }}"
recurse: yes
- meta: flush_handlers

6
tasks/install.yml Normal file
View File

@@ -0,0 +1,6 @@
---
- name: Download GitLab runner
get_url:
url: "{{ gitlab_runner_download_url }}"
dest: "{{ gitlab_runner_binary_path }}"
mode: 0755

16
tasks/main.yml Normal file
View File

@@ -0,0 +1,16 @@
---
- name: gitlab runner installation
include_tasks: install.yml
- name: gitlab runner configuration
include_tasks: config.yml
- name: gitlab runner registration
include_tasks: registration.yml
- name: GitLab Runner started service
systemd_service:
name: "gitlab-runner"
state: started
daemon_reload: true
enabled: true

30
tasks/registration.yml Normal file
View File

@@ -0,0 +1,30 @@
---
- name: Check if GitLab Runner is already registered
ansible.builtin.stat:
path: /etc/gitlab-runner/config.toml
register: gitlab_runner_config
- name: Register GitLab Runner with Docker executor
ansible.builtin.shell:
gitlab-runner register
--non-interactive
--url {{ gitlab_runner_instance_url }}
--registration-token {{ gitlab_runner_registration_token }}
--executor docker
--description "{{ gitlab_runner_runner_description }}"
--docker-image "{{ gitlab_runner_docker_default_image }}"
--tag-list "{{ gitlab_runner_tags | default('') }}"
when: gitlab_runner_config.stat.exists == False and gitlab_runner_executor == 'docker'
become: yes
- name: Register GitLab Runner with Shell executor
ansible.builtin.shell: >
gitlab-runner register
--non-interactive
--url {{ gitlab_runner_instance_url }}
--registration-token {{ gitlab_runner_registration_token }}
--executor shell
--description "{{ gitlab_runner_runner_description }}"
--tag-list "{{ runner_tags | default('') }}"
when: gitlab_runner_config.stat.exists == False and gitlab_runner_executor == 'shell'
become: yes