Parallel group
A Parallel group stage is a container that holds multiple stages running simultaneously.
A Parallel group stage is a container that holds a set of child stages and runs them all at the same time. The group appears as a single node on the pipeline canvas. Stages inside the group start together and run concurrently; the group does not complete until all child stages finish.
What you will learn
What a Parallel group stage is and how it runs child stages simultaneously
How to create a parallel group and add stages to it using the canvas or YAML
How failure of one child stage affects the group's outcome
What execution settings (failure strategy, conditional execution, timeout) are available per child stage
When to use parallel groups
You want to run independent stages simultaneously to reduce total pipeline time, for example, deploying to multiple regions at the same time, or running multiple test suites in parallel
You have stages with no dependency on each other and want them to run as fast as possible
Create a parallel group and add stages
To create a Parallel group:
On the pipeline canvas, select + to add a stage.
In the Add stage panel, select Parallel group. This creates the group with an initial empty stage inside it.
Configure the first stage: add steps, set the runtime, and configure any stage-level settings.
To add more stages to the group:
Click the + button at the bottom of any existing stage inside the parallel group.
This adds a new stage alongside the existing ones within the same group.
Configure the new stage independently.
Repeat this for as many parallel stages as you need. Each stage in the group is fully independent; it has its own steps, runtime, and settings.
In YAML, stages inside a parallel group are defined under parallel.stages:
How parallel groups work
When the pipeline reaches the parallel group, all child stages start at the same time.
Each child stage runs independently; a step failure in one branch does not automatically stop another branch.
The parallel group completes when every child stage finishes (success or failure).
If any child stage fails, the group is marked as failed.
Stage settings within a parallel group
There are no execution controls at the parallel group level. Each child stage inside the group has its own independent settings:
Steps
Each stage individually
Failure strategy
Each stage individually: controls what happens if a step in that stage fails
Conditional execution
Each stage individually: a stage can be skipped based on an expression while others still run
Timeout
Each stage individually: each branch can have a different timeout
Runtime Environment
Each stage individually: branches can run on different infrastructure
Next steps
Go to Serial group to run a set of stages in sequence instead of simultaneously.
Go to Strategy to run a single stage multiple times using matrix, for, or while loops.
Go to Stage overview to understand how stages work and how to add them to a pipeline.
Last updated
Was this helpful?