Parallel
A Parallel step group runs multiple steps simultaneously. Use it to cut wall-clock time by executing independent tasks at the same time.
A Parallel step group runs all its steps at the same time. Use it to speed up your pipeline when steps do not depend on each other, for example, running tests against multiple environments simultaneously.
What you will learn
How a Parallel step group runs multiple steps simultaneously to reduce wall-clock time
How to apply timeout, on-failure, strategy, and conditional execution to the group as a unit
How failure of one step in the group affects the rest
YAML
stages:
- name: build
id: build
steps:
- name: parallel-group
id: parallel_group
parallel:
steps:
- name: task-a
id: task_a
run:
script: ./task-a.sh
- name: task-b
id: task_b
run:
script: ./task-b.shAll steps inside parallel.steps start at the same time. The group completes when all steps finish. If any step fails, the group's on-failure rule applies.
Advanced settings
The parallel group supports all step-level advanced settings. These apply to the group as a whole. The default timeout is 2h.
Timeout
Terminates the entire group if it exceeds the specified duration. When a group times out, it is marked as Expired.
On failure
Controls what happens when any step inside the group fails:
Strategy
Loops the entire group using a matrix, for, or while strategy. Each iteration runs all steps in parallel:
Conditional execution
Skips the entire group based on a JEXL condition:
Next steps
Go to Steps overview to review step types and common advanced settings.
Go to Group to run steps sequentially inside a named container.
Go to On failure to configure failure handling.
Go to Strategy to loop a group across values.
Last updated
Was this helpful?