Jenkins vs Tekton: Pipeline Differences
Key Points
- Jenkins and Tekton are CI/CD tools that automate testing, building, and deploying applications through pipeline definitions.
- Tekton runs natively on Kubernetes, using custom resources that let you scale CI/CD workloads simply by adding cluster nodes.
- The smallest execution unit in Tekton is a **Step**, which specifies a container image, command, and arguments for a single operation.
- Steps are grouped into **Tasks**, which run as a pod and can be reused across multiple pipelines to avoid duplication.
- Pipelines orchestrate multiple Tasks, and Tekton can be operated via command‑line or a browser‑based UI, offering flexible management compared with traditional Jenkins setups.
Full Transcript
# Jenkins vs Tekton: Pipeline Differences **Source:** [https://www.youtube.com/watch?v=7aSe1HQ2lXo](https://www.youtube.com/watch?v=7aSe1HQ2lXo) **Duration:** 00:16:00 ## Summary - Jenkins and Tekton are CI/CD tools that automate testing, building, and deploying applications through pipeline definitions. - Tekton runs natively on Kubernetes, using custom resources that let you scale CI/CD workloads simply by adding cluster nodes. - The smallest execution unit in Tekton is a **Step**, which specifies a container image, command, and arguments for a single operation. - Steps are grouped into **Tasks**, which run as a pod and can be reused across multiple pipelines to avoid duplication. - Pipelines orchestrate multiple Tasks, and Tekton can be operated via command‑line or a browser‑based UI, offering flexible management compared with traditional Jenkins setups. ## Sections - [00:00:00](https://www.youtube.com/watch?v=7aSe1HQ2lXo&t=0s) **Jenkins vs Tekton Comparison** - The speaker outlines CI/CD fundamentals and contrasts Jenkins with Tekton, emphasizing Tekton’s Kubernetes‑native architecture, custom resources, and scalable pipeline management compared to traditional Jenkins workflows. ## Full Transcript
have you ever wondered the differences
between Jenkins and tekon hi I'm
Christine and today I'm going to talk to
y'all about the differences between the
two two cicd tools that have the same
goal just achieve them in different ways
let's start with the basics to
understand Jenkins and tecton we first
need to understand continuous
integration and continuous delivery or
cicd for short cicd is the process of
automating software development through
testing building and deploying
applications jenin and tecton are two
cicd tools designed to create what is
called cicd pipelines to learn more
about continuous integration and
delivery check out the videos linked
Below in our description but for today
I'm going to talk to you guys just about
the similarities and the differences
between the two let's start with
tecton to understand tecton we first
need to understand
kubernetes
kubernetes is is a container
orchestration platform designed for
automating application deployment
management and scaling tekon runs on
kubernetes allowing you to work with
your cicd processes on the same cluster
as your applications this allows you to
easily scale your workload simply by
adding nodes to your
cluster tekon comes with a set of
kubernetes custom resources giving you
the building blocks to easily configure
and manage your Pipelines
you can automate tekon either through
the command line or through the tecton
UI in the
browser all right now let's get into the
architecture so I'm going to start by
giving a simple example to explain cicd
pipelines better let's say you have an
application that you want to deploy into
production and you want to automate this
process by using tecton to keep it even
simpler you're going to run the
following procedures on it you're going
to want to test your
application build
it and then deploy
it each one of these operations becomes
a step which is the smallest building
block of
tukon steps are where you can specify
your commands your arguments your images
to execute your
processes once you've cre created your
steps you can organize them into what is
called
tasks and a single task you can have one
step or multiple steps depending on the
order and sequence you put them in your
files so a
task runs on basically a
pod and a pod
is a single in instance of a running
process on your kubernetes cluster but
we're not going to get into pods or
clusters today if you want to take a
deeper dive again check out the videos
linked Below in our
description so the great thing about
tasks is that once defined you can reuse
them in any pipeline you you want so say
I have another pipeline that I'm working
on that's dedicated solely to testing
applications and I want to use this test
task because it has exactly what I'm
trying to do all I would have to do is
reference the task name in my other
pipeline no need to rewrite anything or
duplicate
it all right so that brings me to the
next topic which is
pipelines and
pipelines are a way of further
organizing your tasks by controlling the
execution of
them pipelines allow you to organize
tasks concurrently or sequentially
depending on the order they're
placed and pipelines and tasks are
tecton custom resources that allow you
to control what gets inputed and what
gets outputed from the tasks for example
an input would be the source code of
your application that you're running
through the pipeline and an example of
an output would be the image produced
from your build task okay so inputs and
outputs the these are called pipeline
resources and you can Define them in
your tasks or your pipelines or you can
put them in their own file depending how
organized you want to
get okay so pipelines organize the
execution of tasks tasks organize the
execution of steps and steps execute
what you're trying to
do how can we automate this process even
further what fires off our
pipeline so a concept called a pipeline
run run triggers our Pipeline and you
can declare that in the trigger
template and
tecton
triggers allow you to detect and extract
information from events from various
sources that allow you to execute your
tasks and pipelines so what exactly does
that mean an event
an example of an event would be let's
say we want to fire off this pipeline
every time one of our
developers commits changes to the
code there's a concept called the event
listener which listens to specific
events in this case it will be listening
to our developer committing code once
that happens it will pick it up and
it'll fire off our
pipeline all
right so as you can see tecton its
process is very structured to put it
even more visually each one of these
Concepts is just a file the event
listener the trigger template the
pipeline and each individual task is its
own file a yaml file to be exact and
that's one of the biggest features of
tecton is that it's objectoriented it's
modular it makes it very easy to reuse
and and customize and organize and it's
it's super
flexible
okay so I'm going to touch on one more
thing before we get into Jenkins and
that is storage how or where does tekon
store its cicd data the answer to that
is
workspaces all right so workspaces
or let me back up when we think of
storage for tecton think of basically a
very large file system okay and
workspaces allow tasks to declare part
of that file system to use for
storage what are we storing the inputs
and outputs throughout this whole
process to take it a step further
there's a concept called a persistent
volume claim p
EVC which lets you specifically Define
the location of that storage volume and
it lets tasks share them amongst the
process and you can typically Define
these in the trigger
template one more thing that you can
also Define in our trigger template is
service accounts and service accounts
basically handle Secrets or
authentication with
tecton so you've got passwords you've
got tokens you've got SSA H keys and you
want to make sure everything is is
secure before you run your steps tekon
runs this credential initialization on
each pod before it executes steps
keeping your whole process secure which
is very
important all right so let's get into
Jenkins now that we've got a good
understanding of
tecton the biggest difference between
the two is that while tekon runs on
kubernetes Jenkins runs on its own
servers or
VMS virtual
machines
so a part of tekon running on kubernetes
means that it's made up of many
different languages like node python
Ruby
Java Jenkins however is based solely on
Java you might be wondering how can
Jenkins even stand up to tecton if it
only supports features written in Java
the answer to that is
plugins jenin plugins extend the
capability of projects written in
languages other than Java so say for
example you want to use Version Control
System like GitHub you would need to
install the GitHub plug-in on your jenin
machine to work with it super easy to
install there's over a thousand
different Jenkin plugins and you manage
them and install them through What's
called the jenin UI similar to tecton
you can work with jenin through the UI
or the command line but mostly people
use the UI and on the UI is where you
can manage your
pipelines okay so in that sense it's
very similar but when it comes to the
file structure that's where they differ
jenin stores its configurations and what
it's called a Jenkins file which is
one large
file like
so
so going off the same example I used
over here you've got an application that
you want to deploy to production and you
want to automate this process but this
time using
Jenkins what you would do is you'd
create a Jenkins file and you'd come in
here and uh
I'm gonna use this you'd come in here
and you declare your Jenkins
pipeline you want to test make sure
there's no errors or bugs you'll want to
build it and then you'll deploy
it and over here in Jenkins they're
referred to as
stages where is tecton their
tasks and within each of these stages
you'll have your
steps which is really the meat of what
you're trying to do it's where you have
your scripts your commands your
arguments
parameters it's held in the
steps so as you can
see looking at the structure it's
already a little different we've got a
three-part pipeline defined in one file
while over here we've got about six
different
files so the Jenkins file lets you
configure not only your pipelines but
you can do a lot more other things in
here for example you can Define
functions like exporting archives or
security functions that you want to run
throughout your process there is methods
uh for example for authentication
there's a method called credentials
where you would Define in
here and um this deals with secrets and
authentication for firing off the
pipeline similar to the event listener
in tecton there's a concept in here
called Web hooks which very similar you
would program it to listen to specific
events for example your developer
committing code changes or creating a
poll request You' you define it like
so and once that event
happens your web hook would fire off
your
pipeline Okay so
storage
conceptually Jenkins and tekron are
pretty similar they use Jenkins uses
file systems just like tekon but when we
think of storage with
Jenkins they organize their directories
a little different so Jenkins has this
home directory called the Jenkins
home and inside this
directory you'd have a lot of other
directories where you'd store your your
build logs your configurations your
artifacts um for example there's a
plug-in directory where you'd store your
plugins or you'd have a Secrets
directory where you'd store your secrets
but most importantly I think the
workspace
directory is
where you'd work with the most and the
workspace directory is your working
directory wherever you run your pipeline
so every time you run a pipeline it's
build generates some artifacts which
think of it as files or images it's kind
of like outputs and tecton and you have
these artifacts and you want to use them
in your next run or your next stage and
so you got to save them in your
workspace so that they're not wiped out
completely with the next build you would
do so by storing it in your workspace or
archiving it
elsewhere
okay so now that we've got a good
understanding of the two you can kind of
see how conceptually Jenkins and tecton
are very similar at the end of the day
they're just trying to automate the
software development life cycle they're
just trying to make a developer's life
easier by getting rid of all the manual
steps as much as
possible let's review a little bit about
what I just went through the biggest
differences so the biggest difference is
one tecton runs on kubernetes allowing
you to easily scale your workloads to
Enterprise levels while Jenkins runs on
its own servers or VMS it's Java based
and it uses plugins to extend its
capability number two jenin or sorry
tecton it organizes each component of
its pipeline into its own file making it
very organized and uh easy to easy to
pinpoint while Jenkins uses one large
Jenkins file to store its configurations
and and and configure its Pipeline and
then lastly going off of this file
structure the fact that tecton divides
or organizes each file into its own
entity it allows it it to be fully
portable so once defined anybody in your
organization can come in and reference
your your pipeline resource it resource
and use it in in their own pipeline
making it very efficient for them and
and not having them reinvent the wheel
every time whereas Jenkins it's a little
less organized and it's it's not as easy
to pinpoint exactly what you're trying
to
reuse so I hope that
helped thank you so much if you have any
questions please drop us a line below if
you want to see more videos like this in
the future please like And subscribe and
don't forget you can grow your skills
and earn a badge with IBM Cloud Labs
which are free browser-based interactive
kubernetes labs