You can use Automation Pipelines to model your build, test, and deploy process. With Automation Pipelines, you set up the infrastructure that supports your release cycle and create pipelines that model your software release activities. Automation Pipelines 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 Automation Pipelines
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 Automation Pipelines 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 Automation Pipelines before manually adding tasks.
- Use a smart pipeline template. For an example, see Planning to natively build, integrate, and deliver your code in Automation Pipelines.
- 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 Automation Assembler 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 Automation Pipelines create a Jira ticket. See How do I create a Jira ticket in Automation Pipelines 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 Automation Pipelines 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 Automation Pipelines to run a pipeline.
- To integrate vAutomation Pipelines 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 Automation Pipelines 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 Automation Pipelines to run a continuous delivery pipeline.
For more information about the triggers that Automation Pipelines supports, see Triggering pipelines in Automation Pipelines.