You can create, edit, view, copy, and delete the release pipeline. You can have multiple stages and build IDs for a single release pipeline.

About this task

These pipelines form a single application or a module. You can model a pipeline with multiple stages and tasks in a stage. You can use each to depict the release cycle for an application or a module.

Plug-ins can use constant variables as part of input configurations. These variables are replaced at runtime with the values where they are placed. When users implement the plug-in spec API, it displays the ReleasePluginServiceException exception.

public ResponseResult execute(ExecutionContext executionContext)

The executionContext variable contains the getTrackingProperties() method, which is populated by default with a unique UUID combination. The combination contains the executionId of vRealize Orchestrator and the task ID that can be used in the external systems to tie their execution with the execution of the release pipeline.

The shared pipeline variable is always preceded by the constant variable. For example, ${pipeline.PipelineVariable}.

Prerequisites

  • Verify that you have available predefined vRealize Automation blueprints, workflows, scripts, or test jobs that perform tasks that the pipelines trigger.

  • Verify that the artifacts in the Artifactory server repository are prepopulated so that you can use the Artifact Management capabilities.

  • Verify that the applicable plug-ins and endpoints are registered. See the Installation and Configuration guide.

  • Familiarize yourself with the input and output details required to create tasks.

Procedure

  1. Log in to the vRealize Automation appliance.
  2. Click Add to create a pipeline.
  3. Enter a name and description for the pipeline.
  4. Click Add to define the input properties for the pipeline.

    These properties are required only if you want to pass certain parameters at the time of triggering a pipeline run. You can reference these parameter values across all stages during modeling. The run time values are applied during the pipeline run.

    Option

    Description

    Name

    Enter a property name. The name cannot include an underscore.

    Description

    Enter a description for the property.

    Value

    Enter a property value.

    For example, ABC-876541.

  5. (Optional) : Select the check box if you do not want this pipeline to run concurrently.

    The pipeline model reuses the same set of virtual machines to deploy a software change. The concurrent run overwrites the deployed change.

  6. Add the email addresses of recipients who receive event notifications during the pipeline run.

    The email addresses are for the users who have access to the same vRealize Automation appliance.

  7. Enter the applicable tags.

    A tag is useful in grouping pipeline models or runs.

    For example, you can use a tag to filter a pipeline model or run view.

  8. Click Stages to continue pipeline creation.
  9. Click Add Stage to add multiple stages to this pipeline.
  10. Double-click the default stage name and enter a name.

    For example, you can create development, test, QE, and production stages.

  11. (Optional) : Select a stage and drag it to a different place in this pipeline.

    For example, if your pipeline consists of development, test, and QE stages, you can move the test stage after the QE stage.

  12. Click Save as Draft to save the pipeline.
  13. Create tasks for every pipeline stage.

    You can add multiple tasks to a stage and model tasks within a stage to run in parallel. You can drag and drop tasks to run in parallel. Running a parallel task is limited only within a stage. The Artifact, Custom, Deploy, Provision, and Test tasks are supported. Certain tasks might depend on tasks that precede them in the workflow. You can drag tasks up or down depending on the workflow. Tasks are run sequentially or in parallel depending on how you have modelled the tasks within a stage. You can configure a task's input to depend on the output from an earlier task. When you add parallel tasks in a single group and configure the task's input to depend on the output from an earlier task, the variables from the output of the earlier task belonging to the previous group is always considered.