> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pipefort.com/llms.txt
> Use this file to discover all available pages before exploring further.

# BEST-PRAC-4 (GitLab) — Deploy job has no resource_group

> A GitLab job with an environment but no resource_group can deploy concurrently and race on the target.

| Field    | Value         |
| -------- | ------------- |
| Category | `BEST-PRAC-4` |
| Platform | GitLab CI     |
| Severity | **LOW**       |
| Auto-fix | ✗             |

## What the check does

Flags a job that declares an `environment:` (a deployment) but no
`resource_group:`.

## Why it matters

Without a `resource_group`, two pipelines can run the same deployment job at the
same time and race on the target — producing interleaved or half-applied
deploys and inconsistent state. A resource group serializes jobs so only one
runs against the environment at a time. This is the GitLab analog of the
GitHub Actions [missing-concurrency](/rules/best-prac-4-missing-concurrency)
check.

```yaml theme={null}
deploy:
  environment: { name: production }
  resource_group: production   # ← serialize deploys to production
  script: [./deploy.sh]
```
