Support for multiple resources per resource group (Concurrency control)

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Problem to solve

Currently, a resource group can have only one resource (i.e. concurrency is 1). To illustrate:

Resource Group: Test servers
  - Resource 1: EC2 on AWS
Resource Group: Deployment servers
  - Resource 1: GCE on GCP

This means that only one job can run with Test servers resource group, however, users want to introduce more resources to the group for increasing job concurrency:

Resource Group: Test servers
  - Resource 1: EC2 Instance A on AWS
  - Resource 2: EC2 Instance B on AWS
  - Resource 3: EC2 Instance C on AWS

This way, if a user has the following .gitlab-ci.yml configuration:

test:
  ...
  resource_group: Test server

Up to three test jobs can run in parallel in the project.

Intended users

Further details

Keep in mind that this issue is not for multiple exclusive locks.

For the multiple exclusive locks, please see Support for multiple resource groups per job (Multiple exclusive locks)

Proposal

TBD

Permissions and Security

Only maintainers of a project can set this setting

Documentation

Testing

What does success look like, and how can we measure that?

What is the type of buyer?

Links / references

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by 🤖 GitLab Bot 🤖