Pipelines

On this page

Pipelines are a way to orchestrate the flow of the software release process. You can choose what part of your process to automate with pipelines, based on your needs. Some examples are:

  • From code check-in to production: After developers check in code, it is run through a pipeline that includes build, test, pre-production, and production stages, running various automation tasks in each of the stages like deploying the applications or microservices, running test automation suites, and so on, ending when the software is delivered to the production server.

  • From system test to production: After the software passes the system tests, it is run through a pipeline to integrate the code from multiple teams, run user acceptance tests, and deploy the software to for beta testing and then all the way to the production.

CloudBees Flow supports top level projects to organize related application deployment, pipeline, and release objects. These objects as well as the objects belonging to them can be in any project within CloudBees Flow.

  • Projects are top-level security containers that provide access control at the project level. All objects in a project inherit the access control settings from the project to which they belong.

  • Projects provide a way to logically grouping objects. If your deployment is large and has many production environments, you can organize production environments by project, with each project having its own access control settings. This makes it easier to manage and maintain multiple environments during the software delivery process.

In this section, you learn:

When you export a project while a pipeline is in progress, only the full export includes flow runtimes that have been completed. If you want to include in-progress pipeline runs in the path-to-production view and the visual indicators showing their percentage completed in the Release Dashboard, set the excludeJobs argument to 0 or false in the export command. When the XML file is imported, the in-progress pipeline runs in the imported project are displayed in the path-to-production view and the Release Dashboard. The jobs might be incomplete once the XML is imported.

A pipeline consists of these objects:

  • Stages–A milestone or checkpoint in the process that consists of one or more tasks in sequential order. Running these tasks completes the milestone or checkpoint.

    As each software change goes through the pipeline, it enters a stage through an entry gate only after it is approved to enter the stage. It can exit the stage through an exit gate only after it is approved to do so.

  • Gates–Approvals before and after a stage. A software change can enter or exit a stage only if the approval criteria at the entry or exit gate are met. Approvers are notified by email.

  • Tasks–Actions to be taken in a stage. They are executed in sequential order within a stage. Tasks can be defined as application or microservice processes, procedures, workflows, manual tasks and plugins to integrate with third party tools.

UI Elements

The following table is a reference guide to CloudBees Flow UI elements mentioned in this document.

Button Name Icon Description

Stage Conditions

Gate Conditions

pipeline stag kanban conditions btn

In the context of pipelines, click to open stage conditions dialog.

Actions

actions button

Opens a drop down list of actions to take based on the context.

Run

run process

Initiates execution of an object based on the context.

Help

plugin info

Opens a popup window with useful information, content varies based on the context.

Open Dialog

view details

Opens the next dialog in the current sequence, the dialog varies based on the context.

Edit

edit object

Opens the edit dialog for the selected object, the dialog varies based on the context.

User Menu

context menu

Located in the upper left corner, opens a top-level user menu of selections. The contents varies based on the context.

New

pipeline new pipeline btn

Located in the upper right corner, opens the new object dialog. Content varies by context.

Add Task

add task button kanban

Used to add a task to a pipeline stage.

Copy

copy task button kanban

Used to make a copy of a pipeline stage task.

Calendar

pipeline stag kanban calendar btn

Opens the scheduler dialog. Content varies by context.

Add Stage

add stage

Used to add a stage to a pipeline.

Object Menu

object menu

Located on right side of an object panel—provides object-level menu of selections available for the current object. Content varies by context.

View Selector

eye selector

Found on individual items of an object list, usually on the right hand end of the item. Used to select the view of the selected object.

Group

group

Use to group task in a pipeline stage.

Approval Needed

pipelineattentionneeded1

Manual approval needed; the current user is on the approver’s list.

Approval Needed

pipelineattentionneeded2

Manual approval needed; the current user is not on the approver’s list.

Expand

view

Located at the ends of rows in an object list. Click to expand the row to reveal more information.

Copyright © 2010-2020 CloudBees, Inc.Online version published by CloudBees, Inc. under the Creative Commons Attribution-ShareAlike 4.0 license.CloudBees and CloudBees DevOptics are registered trademarks and CloudBees Core, CloudBees Flow, CloudBees Flow Deploy, CloudBees Flow DevOps Insight, CloudBees Flow DevOps Foresight, CloudBees Flow Release, CloudBees Accelerator, CloudBees Accelerator ElectricInsight, CloudBees Accelerator Electric Make, CloudBees CodeShip, CloudBees Jenkins Enterprise, CloudBees Jenkins Platform, CloudBees Jenkins Operations Center, and DEV@cloud are trademarks of CloudBees, Inc. Most CloudBees products are commonly referred to by their short names — Accelerator, Automation Platform, Flow, Deploy, Foresight, Release, Insight, and eMake — throughout various types of CloudBees product-specific documentation. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Jenkins is a registered trademark of the non-profit Software in the Public Interest organization. Used with permission. See here for more info about the Jenkins project. The registered trademark Jenkins® is used pursuant to a sublicense from the Jenkins project and Software in the Public Interest, Inc. Read more at www.cloudbees.com/jenkins/about. Apache, Apache Ant, Apache Maven, Ant and Maven are trademarks of The Apache Software Foundation. Used with permission. No endorsement by The Apache Software Foundation is implied by the use of these marks.Other names may be trademarks of their respective owners. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this content, and CloudBees was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this content, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.