Define a resource group for a pipeline
Release notes
Problem to solve
As a release manager, I want to control access to my infrastructure throughout a pipeline, so that I can roll out changes safely and reliably.
Today, resource groups can lock down access to "fragile" resources at the job level, and jobs are queued based on the process_mode
attribute of the resource group. If there are multiple pipelines each having multiple jobs that need access to the same resource group the ordering of jobs across pipelines becomes hard to manage, while the preferred ordering would be to run all the jobs from the pipeline that starts first, followed by the jobs from later pipelines. No other pipeline can take over the resource group before the already running pipeline finishes.
WIP Proposal
Options:
- Introduce a top-level
resource_group
CI syntax that would be active for any job without a resource group being set (setting resource group to none makes the job to not use any resource groups). This would be equivalent of queueing all the related jobs of a pipeline for the resource group when the pipeline gets created. Some jobs might belong to other or no resource groups if configured accordingly. - Introduce a top-level
resource_group
CI syntax that would be active for the whole pipeline. This would lock the resource group while the pipeline is active, independently of the jobs. It would be possible to have jobs with other resource groups, thus overall locking two resource groups at once.
Intended users
Feature Usage Metrics
- pipelines runs with top level resource group defined
Does this feature require an audit event?
no
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.