vRealize Code Stream automates the software release process by modeling all of the necessary tasks in pipeline templates.

A release pipeline is a sequence of stages, each stage is composed of multiple tasks and environments that the software has to complete before it is released into production. The stages can include development, functional testing, user acceptance test (UAT), load testing (LT), systems integration testing (SIT), staging, and production. Release managers, typically Build and Release Engineers, model pipeline templates.

Each stage in a pipeline includes a set of activities such as provisioning a machine, retrieving an artifact, deploying software, executing a test, creating a manual task, or executing a custom workflow or script. The software changes are promoted to the next stage in the pipeline when they satisfy a set of rules called gating rules. The gating rules include testing rules and compliance rules. Gating rules that are associated with a pipeline are specific to an organization or an application. Users can define gating rules when a pipeline template is created. The environments do not need to be aware of these gating rules.

Figure 1. Main Components of vRealize Code Stream
vRealize Code Stream conceptual overview