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 actions required to deliver your software application through the stages.

What are Pipelines in vRealize Automation Code Stream

A pipeline is a continuous integration and delivery model of your software release process. It releases your software from source code, through testing, to production. It includes a sequence of stages with 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 an on-premises 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 to build, test, deploy, and release 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 to create a Docker host to use 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 with cloud template in VMware Cloud Assembly to provision your infrastructure, deploy 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 in or review code, or when a build artifact is created or updated.

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