You can use vRealize Automation Code Stream to model your build, test, and deploy process. With vRealize Automation Code Stream, you set up the infrastructure that supports your release cycle and create pipelines that model your software release activities. vRealize Automation Code Stream delivers your software from development code, through testing, and deploys it to your production instances.

Each pipeline includes stages and tasks. Stages represent your development phases, and tasks perform the required actions that deliver your software application through the stages.

What are Pipelines in vRealize Automation Code Stream

A pipeline is a continuous integration and continuous delivery model of your software release process. It releases your software from source code, through testing, to production. It includes a sequence of stages that include tasks that represent the activities in your software release cycle. Your software application flows from one stage to the next through the pipeline.

You add endpoints so that the tasks in your pipeline can connect to data sources, repositories, or notification systems. To connect vRealize Automation Code Stream to a remote on-premises endpoint, such as a GitHub repository, you must use a cloud proxy.

Creating Pipelines

You can create a pipeline by starting with a blank canvas, using a smart pipeline template, or by importing YAML code.

When you use the blank canvas to create a pipeline, you add stages, tasks, and approvals. The pipeline automates the process that builds, tests, deploys, and releases your application. The tasks in each stage run actions that build, test, and release your code through each stage.

Table 1. Example pipeline stages and uses
Example stage Examples of what you can do
Development

In a development stage, you can provision a machine, retrieve an artifact, add a build task that creates a Docker host for continuous integration of your code, and more.

For example:

Test

In a test stage, you can add a Jenkins task to test your software application, and include post-processing test tools such as JUnit and JaCoCo, and more.

For example:

Production

In a production stage, you can integrate a cloud template in VMware Cloud Assembly that provisions your infrastructure, deploys your software to a Kubernetes cluster, and more.

For example:

You can export your pipeline as a YAML file. Click Pipelines, click a pipeline card, then click Actions > Export.

Approving pipelines

You can obtain an approval from another team member at specific points in your pipeline.

  • To require approval on a pipeline by including a user operation task in a pipeline, see How do I run a pipeline and see results. This task sends an email notification to the user who must review it. The reviewer must either approve or reject the approval before the pipeline can continue to run. If the User Operation task has an expiration timeout set in days, hours, or minutes, the required user must approve the pipeline before the task expires. Otherwise, the pipeline fails as expected.
  • In any stage of a pipeline, if a task or stage fails, you can have vRealize Automation Code Stream create a Jira ticket. See How do I create a Jira ticket in VMware Code Stream when a pipeline task fails.

Triggering pipelines

Pipelines can trigger when developers check their code into the repository, or review code, or when it identifies a new or updated build artifact.

For more information about the triggers that vRealize Automation Code Stream supports, see Triggering pipelines in VMware Code Stream.