What are volumes shared across?

Are data volumes shared per-job, per-pipeline, per-project, or per-instance?

I.e. if I add /cache as a volume, add a file to /cache in project A, I assume it wouldn’t show up in a container for project B… So, when would it?

Both GitLab and the runner are on 15.4.0.

I’m using a volume in the style of Advanced configuration | GitLab.

Advanced configuration | GitLab describes volumes as:

Additional volumes that should be mounted.

… which doesn’t tell me when a volume is mounted.


I found one use of data volume: Use Docker to build Docker images | GitLab, which says:

[…] mounts /certs/client for the service and build container

Does that mean volumes are shared only across jobs in a pipeline?