Pipelines are containers that organize and execute workflows. The pipeline workflows are comprised of small actions called steps which are ordered and executed either manually or by a set of configurable conditions.
Types of Pipelines¶
There are different types of pipelines to be utilized within Cascade.
- Bundled Pipelines : These pipelines are preconfigured within a project, and they perform basic deployment workflows between the environments configured for a project.
- Custom Pipelines : These pipelines are added to meet specific needs
The steps within a pipeline workflow are executed in the order in which they are arranged.
Any Cascade pipeline may be executed automatically as a reaction to a system event when a configurable group of conditions are met, a single grouping of these conditions are called a “trigger group”. The individual line items inside a trigger group are called “triggers”. For a trigger group to cause a pipeline to be executed all the triggering conditions contained within it must evaluate to be true. You may assign multiple trigger groups to a single pipeline. A pipeline with multiple groups will be executed if any single group’s triggering conditions evaluate to true.
The following example pipeline has two trigger groups and will fire if code is merged from staging to production or code is merged from development to staging.
There are three types of triggers that are available, and each trigger has its own parameter values as follows:
- CODE_DEPLOY - code has been deployed to a single environment via the deploy/redeploy button or a git commit.
- CODE_PROMOTE - code has been promoted from one environment to another via the promote button.
- CODE_MERGE - code has been merged from one environment to another via the merge button.
- SOURCE_ENV - the name of an environment configured for use in Cascade when it is the source of a system event.
- TARGET_ENV - the name of an environment configured for use in Cascade when it is the destination for a system event.
Pipelines can be set to run on a custom schedule. At the bottom of the Create/Edit Pipeline Modal, there is an input for a cron expression. The pipeline will be executed at the intervals entered.
The string has six single space-separated time and date fields:
┌───────────── second (0-59) │ ┌───────────── minute (0 - 59) │ │ ┌───────────── hour (0 - 23) │ │ │ ┌───────────── day of the month (1 - 31) │ │ │ │ ┌───────────── month (1 - 12) (or JAN-DEC) │ │ │ │ │ ┌───────────── day of the week (0 - 7) │ │ │ │ │ │ (0 or 7 is Sunday, or MON-SUN) │ │ │ │ │ │ * * * * * *