Running multiple jobs in parallel in a same project through shell gitlab-runner

I am having a project through which I am running server upgrades, I have configured one runner for as local shell runner and another runner which is for ansible server, When multiple pipelines are fired I am looking for the runner to run multiple jobs, currently it looks like it is running single job at a time. Since it is in a single project I cannot run a shared runner.

I read through the documentation and came through that it works in FIFO , and hence I suspect it is not picking up parallel jobs. Any help is very much appreciated.

Please post your (sanitized) config.toml

Hi Balonik, thanks for the reply :

Some additional detail it is project specific runner and I want to keep it that way.

here it is:

concurrent = 1
check_interval = 0
shutdown_timeout = 0

[session_server]
session_timeout = 1800

[[runners]]
name = “gitlab local runner”
url = “http://xxxxxx.ip.tdk.dk/
id = 2
token = “Y5KjgocpaWfE1Y6h6qKn”
token_obtained_at = 2023-10-09T09:03:38Z
token_expires_at = 0001-01-01T00:00:00Z
executor = “shell”

[[runners]]
name = “gitlablocal”
url = “http://xxxxxxxxxx.ip.tdk.dk/
id = 3
token = “6nKqTiLERUSeJxghobwD”
token_obtained_at = 2023-10-09T09:29:43Z
token_expires_at = 0001-01-01T00:00:00Z
executor = “shell”

[[runners]]
name = “gitlablocalnew”
url = “http://xxxxxxx.ip.tdk.dk/
id = 4
token = “Wsgg_QYRfCsic5GJGyxx”
token_obtained_at = 2023-10-09T09:35:09Z
token_expires_at = 0001-01-01T00:00:00Z
executor = “shell”
[runners.cache]
MaxUploadedArchiveSize = 0
output_limit = 10000

This is why.

Limits how many jobs can run concurrently, across all registered runners. Each [[runners]] section can define its own limit, but this value sets a maximum for all of those values combined. For example, a value of 10 means no more than 10 jobs can run concurrently.

1 Like

ok thanks, but do we have any guidelines on the practice to be followed. on how much is a right number.

the number should not be higher than your server can handle. for example if you have 4GB RAM and you know each job need 1GB I would set it to 3 jobs (keeping 1GB for system)

1 Like

Thanks Balonik, just one last question how do we know how much memory a job needs

Run jobs on the server and see in your monitoring solution what’s the consumed amount of memory. Or how do free memory decreases.

Thanks Balonik, for all the knowledge sharing, have a good day !!