Slide 1

Slide 1 text

@systemcraftsman A Quick Look at Tekton Aykut M. Bulgu Technology Consultant | Software Architect @systemcraftsman

Slide 2

Slide 2 text

@systemcraftsman #oc apply -f aykutbulgu.yaml apiVersion: redhat/v1.7 kind: Middleware & AppDev Consultant metadata: name: Aykut Bulgu namespace: Red Hat Consulting - CEMEA Annotations: twitter: @systemcraftsman email: [email protected] organizer: Software Craftsmanship Turkey founder: System Craftsman labels: married: yes children: daughter interests: tech (kubernetes/openshift, spring boot, middleware, camel, kafka, strimzi, ci/cd), aikido spec: replicas: 1 containers: - image: aykut:latest My Custom Resource

Slide 3

Slide 3 text

@systemcraftsman What is this anyway?

Slide 4

Slide 4 text

@systemcraftsman Tekton is an open source project that provides a framework to create cloud-native CI/CD pipelines quickly. As a Kubernetes-native framework, Tekton makes it easier to deploy across multiple cloud providers or hybrid environments. By leveraging the Custom Resource Definitions (CRDs) in Kubernetes, Tekton uses the Kubernetes control plane to run pipeline tasks. Tekton is one of the initial projects in Continuous Delivery Foundation (CDF) with 25+ members which serves as a governing body for fast-growing CI/CD projects to encourage and sustain vendor-neutral collaboration and participation.

Slide 5

Slide 5 text

@systemcraftsman Kubernetes-style Pipelines Runs serverless Integrated CI/CD experience (on OpenShift) Use CRDs to define pipelines that run as containers and scale on-demand. Full control over team’s delivery pipelines, plugins and access control with no central CI/CD server to manage. A streamlined user experience through the OpenShift Console developer perspective, CLIs, and IDEs.

Slide 6

Slide 6 text

@systemcraftsman An application used to create, configure and manage other complex applications Contains domain-specific domain knowledge Operator works based on input from Custom Resource Definitions (CRDs) User describes the desired state Controller applies this state to the application It watches the *desired* state and the *actual* state and makes forward progress to reconcile OperatorHub.io Observe Analyze Act The Operator Pattern

Slide 7

Slide 7 text

@systemcraftsman Tekton Concepts

Slide 8

Slide 8 text

@systemcraftsman Tekton Concepts ➔ Task ➔ Pipeline ➔ PipelineRun ➔ TaskRun ➔ PipelineResource

Slide 9

Slide 9 text

@systemcraftsman Tasks A Task is a collection of sequential steps that run as part of a continuous integration flow. A Task runs in the pod on your cluster. A Task declares: ➔ Inputs ➔ Outputs ➔ Steps

Slide 10

Slide 10 text

@systemcraftsman Pipeline Resources ➔ Git Resource ➔ Pull Request Resource ➔ Image Resource ➔ Cluster Resource ➔ Storage Resource ➔ Cloud Event Resource

Slide 11

Slide 11 text

@systemcraftsman Installing Tekton

Slide 12

Slide 12 text

@systemcraftsman Installing Tekton ➔ Using YAML sources ➔ Via Operatorhub in OpenShift OLM ➔ By creating a subscription YAML in OLM

Slide 13

Slide 13 text

@systemcraftsman Tekton CLI

Slide 14

Slide 14 text

@systemcraftsman Tekton CLI tkn [command or options] [arguments… ] Syntax Samples tkn pipeline start tkn pipeline list tkn pipeline ls tkn resource ls tkn taskrun logs

Slide 15

Slide 15 text

@systemcraftsman Workshop http://bit.ly/tekton-workshop