You are on page 1of 46

Tekton Pipelines Master Course

Homework dn.dev/tekton-tutorial

dn.dev/tektonmaster 1
Upcoming DevNation Schedule
Master Asia (English) France France Brazil USA (English) USA (English) Mexico (Spanish)
Course UTC: 7:00 (French) (French) (Portuguese) UTC 14:00 UTC 16:00 UTC 18:00
Series Local 12:30 UTC 9:00 UTC 11:00 UTC 14:00 Local 10:00 Local 12:00 Local 13:00
Local 13:00 Local 11:00 Eastern Eastern Central Standard

July 29 2020 Tekton Tekton Tekton

August 10 2020 Kubernetes


Beginner

August 12 2020 Kubernetes


Elementary

August 17 2020 Istio

August 19 2020 Knative

dn.dev/master
@burrsutter

● burr@redhat.com
● Featured speaker at technology events around the globe
● Java Champion since 2005
● Former President of the Atlanta Java User Group
● Founded the DevNexus conference
● Always looking for technologies that enable developers to
deliver better software ever faster

dn.dev/tektonmaster
Survey Link
https://www.surveymonkey.com/r/VR2S73Z

dn.dev/tektonmaster
dn.dev/tektonmaster
@kamesh_sampath
● Email: kameshs@redhat.com
● OpenSource Contributor for more than a decade
○ Minikube
○ Eclipse Che
○ Camel-K

● LinkedIn: Kamesh Sampath - Director of Developer


Experience - Red Hat
● Twitter: Kamesh Sampath (@kamesh_sampath)
● GitHub: kameshsampath (Kamesh Sampath) · GitHub

dn.dev/tektonmaster
Alex Soto (lordofthejars.com)

● @alexsotob
● asotobue@redhat.com
● Currently Red Hat’s Director of Developer Experience
● Featured speaker at technology events around the globe
● A Java Champion since 2017
● Writer, University Professor, Radio collaborator
● A big fan of testing and continuous delivery in 21st century

dn.dev/tektonmaster
Survey Link
https://www.surveymonkey.com/r/VJLYTHG

dn.dev/tektonmaster
Sebastien Blanc
● @sebi2706
● sblanc@redhat.com
● Currently Red Hat’s Director of Developer Experience
● Featured speaker at technology events around the globe
● Java Champion
● Co-organizer of Riviera DEV
● Passion-Driven-Developer with one goal : share his passion
by giving talks that are pragmatic, fun and focused on live
coding

dn.dev/tektonmaster
Monolith

MyApp

dn.dev/tektonmaster
The Application

dn.dev/tektonmaster
Modules

dn.dev/tektonmaster
Microservices

dn.dev/tektonmaster
Microservices

dn.dev/tektonmaster
Microservices

dn.dev/tektonmaster
Microservices

dn.dev/tektonmaster
Network of Services

dn.dev/tektonmaster
Microservices own their Data

dn.dev/tektonmaster
Multiple Points of Entry

dn.dev/tektonmaster
Teams & Pipelines

dn.dev/tektonmaster
Let there be Functions?

dn.dev/tektonmaster
Every 4 months Every
week/day/hour

Love Thy Mono

dn.dev/tektonmaster
Knative

https://github.com/knative

dn.dev/tektonmaster
Knative Announced July 24 2018

dn.dev/tektonmaster
Primitives

Vendors DX Functions Event Sources Build Tools FaaS Stuff

(tekton) Autoscaling Routing


Serverless
Knative
Invokers Event Binding Observability
Stuff

Kubernetes Deployment Replicaset Pod Service

dn.dev/tektonmaster
Knative Build

Moving to Tekton

dn.dev/tektonmaster
https://tekton.dev/

dn.dev/tektonmaster
dn.dev/tektonmaster

• •

• •



dn.dev/tektonmaster
Pipelines - Tekton

• Governed by the Continuous Delivery Foundation (cd.foundation)


• Contributions from Google, Cloudbees, IBM, Pivotal, Red Hat and more
• Originated from the Knative Build subproject
• Build your linux container images in-cluster
• Automate deployments
• Defines new Kinds via CRDs: Pipeline, Task
• Reusable Tasks (https://github.com/tektoncd/catalog)
• git clone
• mvn, bazel, s2i (python, ruby, etc)
• "docker build" (buildah, kaniko, makisu)

dn.dev/tektonmaster
Pipeline Resource
● Inputs and outputs of
tasks and pipelines
○ git repository
○ Container image registry
○ storage
● Decoupled from task
and pipeline definition
● Reusable across tasks
and pipelines

dn.dev/tektonmaster
Step


dn.dev/tektonmaster
Task
● Defines a unit of work
to be executed
● A list of steps run
sequentially
● Step containers run in
the task pod
● Has inputs, outputs
and parameters
● Can run independent
of pipelines
dn.dev/tektonmaster
Pipeline
● Combine multiple
tasks
● Task can
● Run in order (graph)
● Run in parallel
● Has inputs and
parameters
● Links task inputs and
outputs
● Pipeline tasks run on
different nodes
dn.dev/tektonmaster
{Pipeline,Task}Run

● Runtime CRDs
● Invocation of Task and
PipelineRun
Pipeline
Pipeline

PipelineResource TaskRun

● Reference tasks and Git

TaskRun

pipelines
PipelineResource
Image

● Provide inputs, outputs and


params
dn.dev/tektonmaster
Task Workflow
Tasks
Define Task

task-step-pod-a
Task Run

Task task-step-pod-b

task-step-pod-c

PipelineResource
Pipeline Controllers
(Tekton, ext, ...)

dn.dev/tektonmaster
Pipeline Workflow

Define pipeline Run pipelines

pipeline-pod-a
Pipeline PipelineRun
pipeline-pod-b
Task Task TaskRun TaskRun

pipeline-pod-c
Pipeline Controllers
(Tekton, ext, ...)
PipelineResource

dn.dev/tektonmaster
Pipelines, Tasks, Steps, Resources

Pipeline

Task Task
Task
Step Step cluster
git image Step
Step Step

Pipeline Pipeline
Resource Resource

dn.dev/tektonmaster
Pipeline: Tasks & Steps -> Pods & Containers

Pipeline Task Pod

Step Container

Step Container

Task Pod

Step Container

Step Container

dn.dev/tektonmaster
Task Catalog
● Catalog of reusable Tasks

○ Image build: , , , , etc

○ Source-to-Image: Java, Python, Go, Ruby, etc


● Import and compose pipelines
● Available catalogs
• tektoncd/catalog
• openshift/pipelines-catalog
dn.dev/tektonmaster
Tekton CLI(tkn)
• List and Describe
• Pipeline
• Resource
• Task
• Task Run
• Pipeline Run
• View logs
• Task Run
• Pipeline Run
• https://github.com/tektoncd/cli
dn.dev/tektonmaster
Resources
● dn.dev/tekton-tutorial
● dn.dev/knative-tutorial
● dn.dev/kubernetes-tutorial
● dn.dev/istio-tutorial
● dn.dev/quarkus-tutorial
● vscode Tekton Extension
● Buildah
dn.dev/tektonmaster
Download

dn.dev/tek-monotomicrodb

dn.dev/tektonmaster
Download

dn.dev/tek-istiobook

dn.dev/tektonmaster
Download

dn.dev/tek-javamsbook

dn.dev/tektonmaster
Coming Soon

dn.dev/tektonmaster

You might also like