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.
You can create a pipeline by starting with a blank canvas, using a smart pipeline template, or by importing YAML code.
- Use the blank canvas. For an example, see Planning a CICD native build in Code Stream before manually adding tasks.
- Use a smart pipeline template. For an example, see Planning to natively build, integrate, and deliver your code in Code Stream.
- Import YAML code. Click Import dialog box, select the YAML file or enter the YAML code, and click Import. . In the
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.
|Example stage||Examples of what you can do|
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.
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.
In a production stage, you can integrate a cloud template in Cloud Assembly that provisions your infrastructure, deploys your software to a Kubernetes cluster, and more.
You can export your pipeline as a YAML file. Click Pipelines, click a pipeline card, then click .
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 Code Stream when a pipeline task fails.
Pipelines can trigger when developers check their code into the repository, or review code, or when it identifies a new or updated build artifact.
- To integrate vRealize Automation Code Stream with the Git lifecycle, and trigger a pipeline when developers update their code, use the Git trigger. See How do I use the Git trigger in Code Stream to run a pipeline.
- To integrate vRealize Automation Code Stream with the Gerrit code review lifecycle, and trigger a pipeline on code reviews, use the Gerrit trigger. See How do I use the Gerrit trigger in Code Stream to run a pipeline.
- To trigger a pipeline when a Docker build artifact is created or updated, use the Docker trigger. See How do I use the Docker trigger in Code Stream to run a continuous delivery pipeline.
For more information about the triggers that vRealize Automation Code Stream supports, see Triggering pipelines in Code Stream.