Run Specific Stages in Pipeline

Updated 1 month ago by Rashmi Nanda Sahoo

Currently, this feature is behind the Feature Flag RUN_INDIVIDUAL_STAGE. Contact Harness Support to enable the feature.

A Pipeline is an end-to-end process that delivers a new version of your software. Each Pipeline has stages that contain the logic to perform one major segment of the Pipeline process.

While executing a Pipeline, you might encounter situations where most of the stages succeed, but a few of them fail. Or you might want to run only specific Stages. In such situations, Harness lets you select specific stages to run instead of executing the entire Pipeline again.

This topic explains how to run specific stages in a Pipeline.

In this topic:

Before You Begin

Review: Dependent and Independent Stages

The Services and Environments in a Pipeline stage can be propagated to subsequent Stages. Also, the settings of one stage such as variables, step outputs can be referenced in other Stages as expressions.

If a Stage uses the settings of another Stage, it is a dependent Stage.

If a Stage does not use the settings of any other Stage, it is an independent Stage.

How you run and rerun Stages is different depending on whether the Stage is dependent or independent.

Let's look at the different options.

Option: Run Specific Independent Stages

This topic assumes you have a Harness Project set up. If not, see Create Organizations and Projects.

You can create a Pipeline from any module in your Project, and then add Stages for any module.

In your Pipeline, click Run. The Run Pipeline settings appear.

In Stages, select one or more stages in your Pipeline which are independent of other stages.

If the selected stage requires any Runtime Inputs, you can provide the inputs only for that Stage manually or by selecting an input set.

You can also view the execution details in the Pipeline execution history.

Option: Run Specific Dependent Stages

If you want to run Stages that propagate settings or need inputs from previous Stages as expressions, you can provide the inputs manually while executing this Stage independently.

The below example shows a Pipeline with 3 stages. Stage2 uses the value of timeout in stage1 using an expression. When you run stage2 without executing stage1, this expression is evaluated as a runtime input. You can input the value during execution and run this Stage independently.

Option: Rerun Stage

You can rerun an executed Stage by clicking the Rerun Stage button and providing any Runtime inputs.

Please Provide Feedback