Introduction to Standard, Cross Cloud Pipelines

Standardise, improve re-usability and scale your deployments with Ozone's customisable catalog

Ozone's Deployment Workflow Structure

The top-down view of ozone's deployment workflow is as follows:
  • Releases - A combination of Approvals and Pipelines as a Directed Acyclic Graph
    • Pipelines - Allow you to define tasks that can execute either sequentially or in parallel as a Directed Acyclic Graph.
      • Tasks - Runs as a pod and allows you to define sequential steps within itself
        • Steps - The base unit of the workflow. Accepts a base image and takes in any commands that can be executed. Runs as a container.

The Task Catalog

Tasks are comprised of sequential steps. Ozone leverages Tekton's framework, which enables a truly scalable, secure and portable way of executing CI/CD workflows. Tasks run as a pod, which enables them to share common volumes for I/O between tasks. Tasks can then be sequences in a pipeline; with any form of execution as long as it adheres to a Directed Acyclic Graph.

How do I create a pipeline using tasks?

  • Navigate to pipeline templates on the left hand bar
  • Click on + New pipeline
  • Enter the pipeline details
    • You can optionally reference a rollback pipeline that executes in case this pipeline fails
  • Click on +Add Task to open the task catalog
  • Drag and drop tasks from the catalog and place them on the canvas
  • Once you have more than one task on the canvas, drag the mouse from the task handles to initiate a execution sequence connector
  • You can optionally map results that are generated upstream to the destination task after the connector is linked
  • Continue till you have achieved your use case for the pipeline in context
Creating pipelines using the visual editor
You can also edit the pipeline in the YAML format, if that's more comfortable for you. Use the toggle button to switch over to the YAML editor mode to do so.

Creating Custom Tasks

  • To create a custom task, navigate to Pipelines Templates
  • Select the "Task Templates" tab
  • Click on +New Task
  • Enter the task template name
  • Enter the description
  • Enter the task yaml
  • Click on create
  • The task is now added to the catalog of your Ozone account. It can now be consumed by including it into pipeline templates.
You can switch over to the visual mode to verify the execution order of the steps within a task. Since Tasks are our fundamental building blocks that abstract away the inner workings of the steps, there is no visual builder support at the moment.

The Pipeline Catalog

Pipeline templates combine tasks to execute your CI/CD workflow on any cluster. Ozone comes with a standard set of pipelines that you can use as templates. You may also re-use or create your own pipeline templates for better CI/CD governance.
Pipelines are a way of templating your CI/CD workflows. The execution of a pipeline object is captured as part of a pipeline run. Further information can be found in the fundamentals of pipelines

Ozone's Pipeline Catalog

The following pipelines are supplied as templates.:
Ozone Pipelines
Trigger CI pipelines on an instance of gitlab that is linked to Ozone.
Deploy an application with the rollout type as Canary. Ozone performs an automated analysis to rollback to the base version
Build and push an application from git to a registry of your choice
Build push and set deployment images from git
Build and deploy an application from git to a target Kubernetes Cluster
Build and test go applications from a git repository
Build and test node.js applications from a git repository
Run unit tests on a repository containing source code written in Python
Run Snyk container scans on an image built by Ozone before pushing it to a registry linked to Ozone
Run Snyk repositoriy scans on any git repository synced to Ozone
Run Snyk Infra as Code scans on any IaC repository
Run Sonarqube scans on any git repository that is synced to Ozone
A default rollback pipeline that can be triggered manually or by another pipeline for an instant rollback to the previous deployment image
Ozone's default pipeline for building, deploying images as workloads on clusters and finally running deployment verification for that workload
Update the image tag to the deployment templates of an application in Ozone
Deploys an image to a namespace in a cluster