I am setting up autoscaling with gitlab runners. Here is my config.toml:
concurrent = 9
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "gitlab-runner-orchestrator"
limit = 3
url = "https://gitlab.com/"
token = "xxx"
executor = "docker+machine"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
tls_verify = false
image = "ubuntu:20.04"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
[runners.machine]
MaxGrowthRate = 1
IdleCount = 0
IdleTime = 1800
MaxBuilds = 100
MachineDriver = "google"
MachineName = "gitlab-runner-%s"
MachineOptions = [...]
OffPeakTimezone = ""
OffPeakIdleCount = 0
OffPeakIdleTime = 0
What I want to do: I want to start at most 3 runners. However I want each runner to run up to 3 jobs at the same time. So I should run 9 jobs concurrently at most.
What it does: it starts 3 runners but each runner run a single job at one time.
What did I wrong? As I understand the config file, I should have 3 [[runners]]
sections, each with limit = 3
but it doesn’t look to be compatible with docker-machine and dynamic provisioning.