You can model a complex pipeline and execute the pipeline in a modular manner by invoking pipelines within pipelines. You can also view the result of the nested pipeline execution.

About this task

The nested pipelines allow you to model complex release pipelines by managing pipelines as tasks.

Prerequisites

Verify that you have available predefined release pipelines.

Procedure

  1. Create a master release pipeline.
  2. Add a stage or add multiple stages to this pipeline and include tasks.
  3. Add a new task, select vRealize Code Stream as the provider and enter the name of the task.
  4. Select the new task in the stage.
  5. Confirm to save the pipeline.
  6. Select an Execute Task for the release pipeline.

    Option

    Description

    Always

    Runs the release pipeline task without conditions.

    On Condition(s)

    Runs the release pipeline task only if the defined condition is evaluated as true. If the condition is false, the task is skipped.

    A boolean expression using the following operands and operators is supported.

    • Pipeline variables such as, ${pipeline.variableName}. Curly brackets are reserved for specifying pipeline variables.

    • Task output variables such as, ${Stage1.task1.machines[0].value.hostIp[0]}

    • Default pipeline binding variables such as, ${releasePipelineName}

    • Case insensitive Boolean values such as, true, false, 'true', 'false'

    • Integer or decimal values without quotes

    • String values used with single or double quotes such as, "test", 'test'

    • String and Numeric types of values such as, == Equals and != Not Equals

    • Relational operators such as, > , >=, <, and <=

    • Boolean logic such as, && and ||

    • Arithmetic operators such as, +, -, *, and /

    • Nested expressions using round brackets

    • Strings with literal value ABCD is evaluated as false and the task is skipped.

    Unary operators are not supported.

    A sample condition, ${Stage1.task1.output} == “Passed” || ${pipeline.variableName} == 39

  7. (Optional) : Select the Continue Pipeline execution even if this task fails option.

    This option allows the release pipeline to bypass the failed task and continue with the execution process.

  8. Click the task you created.
  9. Select the pipeline from the Pipeline drop-down menu to configure the selected pipeline as a task.

    You can override the input parameters to enable the child pipeline to run with the new values instead of the configured values.

  10. Click the Output tab, select the output properties that you want to publish and provide the custom alias name.

    Only the values that you select for publishing are considered in the master pipeline execution.

  11. Click Save.
  12. Repeat steps 3-5 to configure pipelines for each task.
  13. Click Execute to run the master release pipeline.
  14. Click the Pipeline Executions tab.

    The status of each invoked pipeline is displayed.

  15. Select the master release pipeline and click the task to view the details of the pipeline task.
  16. Click the Pipeline Detail button to view the details of the task modeled in the pipeline.

    You can also view the details in the Dashboard tab.