Last active
February 27, 2025 18:14
-
-
Save gam6itko/90a1d1f0baa70baaff39ec3dc8a7b58e to your computer and use it in GitHub Desktop.
ansible community.general.gitlab_runner - Install and register gitlab group runner example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
- name: Play gitlab-runner | |
hosts: all | |
tasks: | |
- name: Create a GitLab Runner user | |
user: | |
name: gitlab-runner | |
comment: GitLab Runner | |
create_home: true | |
shell: /bin/bash | |
become: true | |
- name: Download the binary for your system | |
get_url: | |
url: https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64 | |
dest: /usr/bin/gitlab-runner | |
mode: 0777 | |
become: true | |
- name: Install gitlab-runner | |
command: | |
cmd: gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner | |
creates: /etc/systemd/system/gitlab-runner.service | |
become: true | |
- name: Start gitlab-runner service | |
service: | |
name: gitlab-runner | |
enabled: true | |
state: started | |
become: true | |
- name: Install pip module `python-gitlab` | |
pip: | |
name: python-gitlab | |
state: present | |
become: true | |
- name: Register group docker runner | |
block: | |
- name: Register group docker runner | |
community.general.gitlab_runner: | |
access_level: ref_protected | |
api_url: "{{ gitlab.url }}" | |
api_token: "{{ gitlab.access_token }}" | |
registration_token: "{{ gitlab.group_registration_token }}" | |
description: Group docker runner | |
state: present | |
active: true | |
tag_list: [ "docker" ] | |
run_untagged: false | |
locked: false | |
owned: true | |
become: true | |
register: reg_gitlab_runner_group | |
- name: Insert runner config block | |
when: reg_gitlab_runner_group.runner.token is defined | |
block: | |
- name: Render template | |
set_fact: | |
gitlab_group_runner_block: "{{ lookup('template', 'group-runner.block.toml.j2') }}" | |
- name: Block file | |
blockinfile: | |
dest: /etc/gitlab-runner/config.toml | |
content: '{{ gitlab_group_runner_block }}' | |
state: present | |
marker: "# {mark} group runner" | |
become: true | |
- name: Verify | |
command: | |
cmd: gitlab-runner verify | |
handlers: | |
- name: gitlab-runner-restart | |
ansible.builtin.service: | |
name: gitlab-runner | |
state: restarted | |
become: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[[runners]] | |
name = "{{ ansible_hostname }}: docker" | |
url = "https://gitlab.com/" | |
id = {{ reg_gitlab_runner_group.runner.id }} | |
token = "{{ reg_gitlab_runner_group.runner.token }}" | |
executor = "docker" | |
[runners.custom_build_dir] | |
[runners.docker] | |
tls_verify = false | |
image = "php:8.1" | |
privileged = false | |
disable_entrypoint_overwrite = false | |
oom_kill_disable = false | |
disable_cache = false | |
volumes = ["/cache"] | |
shm_size = 0 | |
[runners.cache] | |
[runners.cache.s3] | |
[runners.cache.gcs] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment