Learning Library

← Back to Library

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
0:00have you ever wondered the differences 0:02between Jenkins and tekon hi I'm 0:05Christine and today I'm going to talk to 0:07y'all about the differences between the 0:08two two cicd tools that have the same 0:11goal just achieve them in different ways 0:14let's start with the basics to 0:16understand Jenkins and tecton we first 0:18need to understand continuous 0:19integration and continuous delivery or 0:22cicd for short cicd is the process of 0:26automating software development through 0:28testing building and deploying 0:31applications jenin and tecton are two 0:34cicd tools designed to create what is 0:37called cicd pipelines to learn more 0:40about continuous integration and 0:41delivery check out the videos linked 0:43Below in our description but for today 0:45I'm going to talk to you guys just about 0:47the similarities and the differences 0:48between the two let's start with 0:51tecton to understand tecton we first 0:54need to understand 0:57kubernetes 0:58kubernetes is is a container 1:00orchestration platform designed for 1:02automating application deployment 1:04management and scaling tekon runs on 1:09kubernetes allowing you to work with 1:11your cicd processes on the same cluster 1:14as your applications this allows you to 1:16easily scale your workload simply by 1:19adding nodes to your 1:21cluster tekon comes with a set of 1:24kubernetes custom resources giving you 1:26the building blocks to easily configure 1:28and manage your Pipelines 1:31you can automate tekon either through 1:33the command line or through the tecton 1:34UI in the 1:36browser all right now let's get into the 1:39architecture so I'm going to start by 1:41giving a simple example to explain cicd 1:44pipelines better let's say you have an 1:47application that you want to deploy into 1:50production and you want to automate this 1:52process by using tecton to keep it even 1:55simpler you're going to run the 1:56following procedures on it you're going 1:59to want to test your 2:02application build 2:05it and then deploy 2:09it each one of these operations becomes 2:12a step which is the smallest building 2:15block of 2:18tukon steps are where you can specify 2:22your commands your arguments your images 2:25to execute your 2:28processes once you've cre created your 2:30steps you can organize them into what is 2:33called 2:34tasks and a single task you can have one 2:39step or multiple steps depending on the 2:42order and sequence you put them in your 2:46files so a 2:49task runs on basically a 2:53pod and a pod 2:57is a single in instance of a running 3:01process on your kubernetes cluster but 3:03we're not going to get into pods or 3:04clusters today if you want to take a 3:06deeper dive again check out the videos 3:08linked Below in our 3:10description so the great thing about 3:12tasks is that once defined you can reuse 3:15them in any pipeline you you want so say 3:18I have another pipeline that I'm working 3:20on that's dedicated solely to testing 3:23applications and I want to use this test 3:25task because it has exactly what I'm 3:27trying to do all I would have to do is 3:30reference the task name in my other 3:32pipeline no need to rewrite anything or 3:35duplicate 3:36it all right so that brings me to the 3:40next topic which is 3:41pipelines and 3:44pipelines are a way of further 3:48organizing your tasks by controlling the 3:52execution of 3:56them pipelines allow you to organize 3:59tasks concurrently or sequentially 4:01depending on the order they're 4:04placed and pipelines and tasks are 4:08tecton custom resources that allow you 4:11to control what gets inputed and what 4:13gets outputed from the tasks for example 4:16an input would be the source code of 4:18your application that you're running 4:20through the pipeline and an example of 4:23an output would be the image produced 4:25from your build task okay so inputs and 4:28outputs the these are called pipeline 4:30resources and you can Define them in 4:32your tasks or your pipelines or you can 4:35put them in their own file depending how 4:37organized you want to 4:39get okay so pipelines organize the 4:44execution of tasks tasks organize the 4:47execution of steps and steps execute 4:49what you're trying to 4:50do how can we automate this process even 4:54further what fires off our 4:57pipeline so a concept called a pipeline 5:01run run triggers our Pipeline and you 5:04can declare that in the trigger 5:08template and 5:10tecton 5:13triggers allow you to detect and extract 5:17information from events from various 5:21sources that allow you to execute your 5:23tasks and pipelines so what exactly does 5:27that mean an event 5:30an example of an event would be let's 5:33say we want to fire off this pipeline 5:36every time one of our 5:40developers commits changes to the 5:44code there's a concept called the event 5:49listener which listens to specific 5:52events in this case it will be listening 5:54to our developer committing code once 5:57that happens it will pick it up and 6:00it'll fire off our 6:05pipeline all 6:07right so as you can see tecton its 6:11process is very structured to put it 6:14even more visually each one of these 6:17Concepts is just a file the event 6:20listener the trigger template the 6:22pipeline and each individual task is its 6:24own file a yaml file to be exact and 6:28that's one of the biggest features of 6:30tecton is that it's objectoriented it's 6:33modular it makes it very easy to reuse 6:37and and customize and organize and it's 6:40it's super 6:41flexible 6:42okay so I'm going to touch on one more 6:46thing before we get into Jenkins and 6:47that is storage how or where does tekon 6:52store its cicd data the answer to that 6:55is 6:56workspaces all right so workspaces 7:01or let me back up when we think of 7:04storage for tecton think of basically a 7:08very large file system okay and 7:12workspaces allow tasks to declare part 7:15of that file system to use for 7:18storage what are we storing the inputs 7:20and outputs throughout this whole 7:23process to take it a step further 7:25there's a concept called a persistent 7:27volume claim p 7:30EVC which lets you specifically Define 7:33the location of that storage volume and 7:36it lets tasks share them amongst the 7:39process and you can typically Define 7:43these in the trigger 7:45template one more thing that you can 7:47also Define in our trigger template is 7:49service accounts and service accounts 7:51basically handle Secrets or 7:53authentication with 7:54tecton so you've got passwords you've 7:57got tokens you've got SSA H keys and you 8:00want to make sure everything is is 8:02secure before you run your steps tekon 8:04runs this credential initialization on 8:07each pod before it executes steps 8:09keeping your whole process secure which 8:11is very 8:13important all right so let's get into 8:16Jenkins now that we've got a good 8:18understanding of 8:20tecton the biggest difference between 8:23the two is that while tekon runs on 8:26kubernetes Jenkins runs on its own 8:30servers or 8:33VMS virtual 8:39machines 8:42so a part of tekon running on kubernetes 8:46means that it's made up of many 8:48different languages like node python 8:51Ruby 8:52Java Jenkins however is based solely on 8:56Java you might be wondering how can 8:58Jenkins even stand up to tecton if it 9:00only supports features written in Java 9:04the answer to that is 9:06plugins jenin plugins extend the 9:08capability of projects written in 9:10languages other than Java so say for 9:13example you want to use Version Control 9:16System like GitHub you would need to 9:18install the GitHub plug-in on your jenin 9:21machine to work with it super easy to 9:24install there's over a thousand 9:25different Jenkin plugins and you manage 9:28them and install them through What's 9:30called the jenin UI similar to tecton 9:33you can work with jenin through the UI 9:36or the command line but mostly people 9:38use the UI and on the UI is where you 9:42can manage your 9:45pipelines okay so in that sense it's 9:50very similar but when it comes to the 9:52file structure that's where they differ 9:55jenin stores its configurations and what 9:59it's called a Jenkins file which is 10:02one large 10:06file like 10:09so 10:11so going off the same example I used 10:15over here you've got an application that 10:18you want to deploy to production and you 10:21want to automate this process but this 10:22time using 10:24Jenkins what you would do is you'd 10:26create a Jenkins file and you'd come in 10:27here and uh 10:29I'm gonna use this you'd come in here 10:33and you declare your Jenkins 10:37pipeline you want to test make sure 10:41there's no errors or bugs you'll want to 10:43build it and then you'll deploy 10:47it and over here in Jenkins they're 10:50referred to as 10:52stages where is tecton their 10:57tasks and within each of these stages 11:00you'll have your 11:01steps which is really the meat of what 11:04you're trying to do it's where you have 11:06your scripts your commands your 11:08arguments 11:09parameters it's held in the 11:12steps so as you can 11:15see looking at the structure it's 11:17already a little different we've got a 11:18three-part pipeline defined in one file 11:21while over here we've got about six 11:23different 11:24files so the Jenkins file lets you 11:27configure not only your pipelines but 11:29you can do a lot more other things in 11:31here for example you can Define 11:33functions like exporting archives or 11:37security functions that you want to run 11:39throughout your process there is methods 11:44uh for example for authentication 11:46there's a method called credentials 11:48where you would Define in 11:52here and um this deals with secrets and 11:57authentication for firing off the 12:00pipeline similar to the event listener 12:03in tecton there's a concept in here 12:05called Web hooks which very similar you 12:08would program it to listen to specific 12:10events for example your developer 12:12committing code changes or creating a 12:14poll request You' you define it like 12:18so and once that event 12:22happens your web hook would fire off 12:24your 12:26pipeline Okay so 12:30storage 12:32conceptually Jenkins and tekron are 12:34pretty similar they use Jenkins uses 12:36file systems just like tekon but when we 12:38think of storage with 12:41Jenkins they organize their directories 12:43a little different so Jenkins has this 12:46home directory called the Jenkins 12:50home and inside this 12:55directory you'd have a lot of other 12:57directories where you'd store your your 12:59build logs your configurations your 13:03artifacts um for example there's a 13:06plug-in directory where you'd store your 13:07plugins or you'd have a Secrets 13:10directory where you'd store your secrets 13:12but most importantly I think the 13:15workspace 13:16directory is 13:18where you'd work with the most and the 13:21workspace directory is your working 13:23directory wherever you run your pipeline 13:25so every time you run a pipeline it's 13:29build generates some artifacts which 13:33think of it as files or images it's kind 13:36of like outputs and tecton and you have 13:38these artifacts and you want to use them 13:41in your next run or your next stage and 13:43so you got to save them in your 13:45workspace so that they're not wiped out 13:47completely with the next build you would 13:49do so by storing it in your workspace or 13:52archiving it 13:54elsewhere 13:56okay so now that we've got a good 13:58understanding of the two you can kind of 14:00see how conceptually Jenkins and tecton 14:03are very similar at the end of the day 14:06they're just trying to automate the 14:07software development life cycle they're 14:09just trying to make a developer's life 14:12easier by getting rid of all the manual 14:14steps as much as 14:16possible let's review a little bit about 14:19what I just went through the biggest 14:21differences so the biggest difference is 14:24one tecton runs on kubernetes allowing 14:27you to easily scale your workloads to 14:29Enterprise levels while Jenkins runs on 14:33its own servers or VMS it's Java based 14:36and it uses plugins to extend its 14:38capability number two jenin or sorry 14:42tecton it organizes each component of 14:45its pipeline into its own file making it 14:48very organized and uh easy to easy to 14:53pinpoint while Jenkins uses one large 14:56Jenkins file to store its configurations 14:58and and and configure its Pipeline and 15:01then lastly going off of this file 15:04structure the fact that tecton divides 15:07or organizes each file into its own 15:09entity it allows it it to be fully 15:12portable so once defined anybody in your 15:15organization can come in and reference 15:18your your pipeline resource it resource 15:21and use it in in their own pipeline 15:23making it very efficient for them and 15:25and not having them reinvent the wheel 15:27every time whereas Jenkins it's a little 15:31less organized and it's it's not as easy 15:33to pinpoint exactly what you're trying 15:35to 15:37reuse so I hope that 15:39helped thank you so much if you have any 15:42questions please drop us a line below if 15:45you want to see more videos like this in 15:47the future please like And subscribe and 15:49don't forget you can grow your skills 15:51and earn a badge with IBM Cloud Labs 15:54which are free browser-based interactive 15:56kubernetes labs