Skip to content
Snippets Groups Projects

Support runner options for Docker Machine

Merged Erick Hitter requested to merge add/machine-opts into master
1 file
+ 1
1
Compare changes
  • Side-by-side
  • Inline
+ 52
21
GitLab Runner [![pipeline status](https://git.ethitter.com/ansible/gitlab-runner/badges/master/pipeline.svg)](https://git.ethitter.com/ansible/gitlab-runner/commits/master)
=============
This role will install the [official GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner)
(fork from haroldb) with updates. Needed something simple and working, this did the trick for me. Open for changes though.
Install GitLab Runner using Docker Machine and Digital Ocean for on-demand instance creation. See https://www.digitalocean.com/community/tutorials/how-to-autoscale-gitlab-continuous-deployment-with-gitlab-runner-on-digitalocean.
This is intended to be installed on the same host as the GitLab instance, spinning up hosts as needed and quickly tearing them down. If your CI activity is frequent, the `gitlab_runner_machine_idle_time` variable should be increased so hosts can be reused.
Requirements
------------
@@ -12,47 +13,77 @@ This role requires Ansible 2.0 or higher.
Role Variables
--------------
`gitlab_runner_package_name`
###### `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`
###### `gitlab_runner_concurrent`
The maximum number of global jobs to run concurrently.
Defaults to the number of processor cores.
`gitlab_runner_registration_token`
###### `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`
###### `gitlab_runner_coordinator_url`
The GitLab coordinator URL.
Defaults to `https://gitlab.com/ci`.
`gitlab_runner_description`
The description of the runner.
###### `gitlab_runner_description_base`
Base description of the runner.
Defaults to the hostname.
`gitlab_runner_executor`
###### `gitlab_runner_executor`
The executor used by the runner.
Defaults to `shell`.
`gitlab_runner_concurrent_specific`
###### `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`
###### `gitlab_runner_docker_image`
The default Docker image to use. Required when executor is `docker`.
`gitlab_runner_tags`
The tags assigned to the runner,
###### `gitlab_runner_tags`
Default tags assigned to the runner,
Defaults to an empty list.
`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_access_key`
`gitlab_runner_cache_s3_bucket_name`
`gitlab_runner_cache_s3_insecure`
`gitlab_runner_cache_cache_shared`
###### `gitlab_runner_machine_idle_nodes`
How many idle machines to maintain. Defaults to `0`, meaning all hosts are created on-demand then culled after `gitlab_runner_machine_idle_time` minutes.
###### `gitlab_runner_machine_idle_time`
How long, in minutes, a machine can be idle before it's destroyed. Default is `3`.
###### `gitlab_runners`
Dict of runners
```yml
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](https://github.com/riemers/ansible-gitlab-runner/blob/master/tasks/register-runner.yml)
Loading