Skip to content

eRadical/ansible-gitlab-runner

 
 

Repository files navigation

GitLab Runner Build Status Ansible Role

This role will install the official GitLab Runner (fork from DBLaci, which forked it from riemers, which in turn forked it from haroldb) with updates. Needed something simple and working, this did the trick for me. Open for changes though.

NOTE:

Even though it's a fork it is NOT backward compatible:

  • it will only install gitlab-runner (all "gitlab-multi-runner" references were scraped)
  • all per-runner global variables were removed
  • there is no "default runner"
  • there is a list of runner to be configured (1 machine can have more than 1 runner... be bold)

Requirements

This role requires Ansible 2.0 or higher.

Role Variables

gitlab_runner_concurrent The maximum number of jobs to run concurrently. Defaults to the number of processor cores.

gitlab_check_interval The interval of job poll in seconds Defaults to the upstream default (3 seconds)

gitlab_runner_list This list will hold the multiple runners. It is a list of dict based on the settings available in one runner. You must set different descriptions for the runners to work.

NOTE:

Runners are created for the first time. You can't change the settings of existsing ones with this role.

See the config for more options

Example Playbook

- hosts: runner_hosts
  become: yes
  roles:
    - eRadical.gitlab-runner

Example for requirements.yml

- name: eRadical.gitlab-runner
  src: https://github.com/eRadical/ansible-gitlab-runner
  scm: git
  version: commit_id_here

Inside group_vars/runner_hosts.yml

gitlab_runner_concurrent: 1
gitlab_check_interval: 3
gitlab_runner_list:
- coordinator_url: 'https://your.gitlab.installation/ci'
  registration_token: ''
  description: '{{ ansible_hostname }}__shell'
  output_limit: 102400	# 100MB - --output-limit flag is in Kb
  executor: 'shell'
  tags:
  - shell
  - bash
- coordinator_url: 'https://your.gitlab.installation/ci'
  registration_token: ''
  description: '{{ ansible_hostname }}__docker'
  output_limit: 102400	# 100MB - --output-limit flag is in Kb
  executor: 'docker'
  docker_image: "centos:latest"
  docker_tlsverify: "false"
  docker_pull_policy: "always"
  docker_privileged: "true"
  tags:
  - docker
  - container

Packages

No packages published

Languages

  • Jinja 100.0%