Skip to content
Snippets Groups Projects

GitLab Runner pipeline status

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

Requirements

This role requires Ansible 2.0 or higher.

Role Variables

gitlab_runner_package_name

Since Gitlab 10.x The package name of gitlab-ci-multi-runner has been renamed to gitlab-runner. In order to install a version >= 10.x you will need to define this variable gitlab_runner_package_name: gitlab-runner.

gitlab_runner_concurrent

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

gitlab_runner_registration_token

The GitLab registration token. If this is specified, a runner will be registered to a GitLab server.

gitlab_runner_coordinator_url

The GitLab coordinator URL. Defaults to https://gitlab.com/ci.

gitlab_runner_description_base

Base description of the runner. Defaults to the hostname.

gitlab_runner_executor

The executor used by the runner. Defaults to shell.

gitlab_runner_concurrent_specific

The maximum number of jobs to run concurrently on this specific runner. Defaults to 0, simply means don't limit.

gitlab_runner_docker_image

The default Docker image to use. Required when executor is docker.

gitlab_runner_tags

Default tags assigned to the runner, Defaults to an empty list.

gitlab_runners

Dict of runners

gitlab_runners:
  - {
      description: '{{ gitlab_runner_description_base }}',
      tags: [],
      locked: false,
      token: ''
  }
gitlab_runner_cache_type

Variables to set s3 as a shared cache server. If set it requires variables listed below:

  • gitlab_runner_cache_s3_server_address
  • gitlab_runner_cache_s3_access_key
  • gitlab_runner_cache_s3_secret_key
  • gitlab_runner_cache_s3_bucket_name
  • gitlab_runner_cache_s3_insecure
  • gitlab_runner_cache_cache_shared

See the config for more options

Example Playbook

- hosts: all
  remote_user: root
  vars_files:
    - vars/main.yml
  roles:
    - { role: riemers.gitlab-runner }

Inside vars/main.yml

gitlab_runner_registration_token: 'HUzTMgnxk17YV8Rj8ucQ'
gitlab_runner_description: 'Example GitLab Runner'
gitlab_runner_tags:
  - node
  - ruby
  - mysql
gitlab_runner_docker_volumes:
  - "/var/run/docker.sock:/var/run/docker.sock"
  - "/cache"