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.
This role requires Ansible 2.0 or higher.
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_sentry_dsn
Enable tracking of all system level errors to Sentry
gitlab_runner_runners
A list of gitlab runners to register & configure. Defaults to a single shell executor. See the defaults/main.yml
file listing all possible options which you can be passed to a runner registration command.
- 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_runners:
- name: 'Example Docker GitLab Runner'
executor: docker
docker_image: 'alpine'
tags:
- node
- ruby
- mysql
docker_volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/cache"
extra_configs:
runners.docker:
memory: 512m
allowed_images: ["ruby:*", "python:*", "php:*"]
runners.docker.sysctls:
net.ipv4.ip_forward: "1"