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.7 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_listen_address
Enable /metrics
endpoint for Prometheus scraping.
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"
Feel free to add your name to the readme if you make a PR. A full list of people from the PR's is here