Introduction to Standard, Cross Cloud Pipelines
Standardise, improve re-usability and scale your deployments with Ozone's customisable catalog
The top-down view of ozone's deployment workflow is as follows:
- 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.
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.
- 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.
- 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.
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
The following pipelines are supplied as templates.:
Ozone Pipelines | Description |
---|---|
gitlab-ci-trigger | Trigger CI pipelines on an instance of gitlab that is linked to Ozone. |
ozone-canary-deploy | Deploy an application with the rollout type as Canary. Ozone performs an automated analysis to rollback to the base version |
ozone-git-pull-docker-image-build-and-push-pipeline-v-1 | Build and push an application from git to a registry of your choice |
ozone-git-pull-docker-image-build-and-push-pipeline-v-1 | Build push and set deployment images from git |
ozone-git-pull-docker-image-build-and-template-deploy-v-1 | Build and deploy an application from git to a target Kubernetes Cluster |
ozone-go-build-and-test-v-1 | Build and test go applications from a git repository |
ozone-npm-build-and-test-v-1 | Build and test node.js applications from a git repository |
ozone-python-test | Run unit tests on a repository containing source code written in Python |
ozone-snyk-container-scan | Run Snyk container scans on an image built by Ozone before pushing it to a registry linked to Ozone |
ozone-snyk-repo-scan | Run Snyk repositoriy scans on any git repository synced to Ozone |
ozone-snyk-iac | Run Snyk Infra as Code scans on any IaC repository |
ozone-sonarqube-repo-scan | Run Sonarqube scans on any git repository that is synced to Ozone |
ozone-rollback-deployment-image-pipeline-v-1 | A default rollback pipeline that can be triggered manually or by another pipeline for an instant rollback to the previous deployment image |
ozone-git-to-image-build-deployment-image-verification-v-1 | Ozone's default pipeline for building, deploying images as workloads on clusters and finally running deployment verification for that workload |
ozone-templates-deploy-pipeline-v-1 | Update the image tag to the deployment templates of an application in Ozone |
ozone-set-deployment-image-v-1 | Deploys an image to a namespace in a cluster |