Mauricio Magnani bio photo

Mauricio Magnani

A guy who loves technology and new challenges!

Email Twitter LinkedIn Github

Introduction

There are many technologies that meet the needs of CI/CD solutions, but most of them are not built to work in containerized environments and may not fit Microservices architecture. Tekton is an open-source Kubernetes-native CI/CD framework that allows you to automate deployments on multiple platforms (Kubernetes, Servless, VMs, etc.).

But what about the “Openshift Pipelines”?

Openshift Pipelines is a CI/CD solution based on the open source Tekton project which provides a CI/CD experience through integration with OpenShift.

For more details check the docs.

This is an example to demonstrate how an integration of Tekton VSCode Plugin, Quarkus , Tekton and Openshift Pipelines can be very productive for Developers.

  • Development Environment, work in your application code and monitor the pipeline run in the same screen:

  • Follow up the PipelineRun progress at Pipeline View in Developer Mode at Openshift 4.2+:

  • Let the microservice dependencies be automatically created and deployed by it own pipeline. The application is created using Quarkus by Burr Sutter and can be found at https://github.com/burrsutter/blue-green-canary

Pre Requisites

To run this demo, below are the tools that must be installed:

How to run

In your cluster create a project called demo:

oc new-project demo

Clone the project:

git clone https://github.com/msmagnanijr/tdc-tekton.git
cd tdc-tekton

Create the service and route:

./create_service_and_route.sh

Create the pipeline objects:

./create_pipeline_objects.sh  

Create the pipeline run:

./create_pipelinerun.sh

Check your project route with the following command:

oc get route -n demo 
NAME      HOST/PORT                                     PATH   SERVICES   PORT   TERMINATION   WILDCARD
tdc-app   tdc-app-demo.apps.sample.automation.io          tdc-app    http                 None

Access the route and you should check the application running.

Info

Best,