Use Tekton to automate the deployment of applications

Summary

Tekton is an open source project that provides a Knative way to declare continuous integration/continuous deployment-style pipelines. In this code pattern, we show you how we used Tekton to reduce our deployment time for an application from 45 minutes of clicking around and configuring down to 15 minutes and a few commands.

Description

To demonstrate the functionality of Tekton, we need an example application to deploy. Example Health is a demo app we created to demonstrate application modernization. As often is the case in production applications, Example Health started out as two separate applications. When our business needs grew faster than we anticipated, we quickly needed to add analytic capabilities to our application.

In the vein of 12-factor application best practices, we split our workload into five microservices. This translates into the Example Health application consisting of five different images. Currently, we have all five of these services deployed into one Red Hat® OpenShift® on an IBM Cloud™ cluster.

Flow

flow

  1. User creates an OpenShift cluster and installs Tekton.
  2. Add Example Health deployment pipeline and resource files.
  3. Execute pipeline and build, deploy, and expose Example Health images.
  4. Confirm functionality of resources.

Instructions

Ready to get started? Check out the README for detailed instructions on how to:

  1. Target your cluster.
  2. Install Tekton, its dashboard, and extensions.
  3. Create a service account.
  4. Install tasks.
  5. Apply resources, pipeline, and run.
  6. Create a unit test (optionally).
Olaph Wagoner