Tekton vs. Jenkins: What's the difference?

Ғылым және технология

Watch "What is Tekton?" lightboard video → • What is Tekton?
Watch "What is Continuous Integration?" lightboard video → • What is Continuous Int...
Learn more about Kubernetes → ibm.biz/explore-k8s-guide
Learn more about DevOps → ibm.biz/explore-devops-guide
► Check out Tekton on IBM Cloud → ibm.biz/tekton-on-ibm-cloud
Have you ever wondered the differences between Jenkins and Tekton?
In this lightboard video, Christine Samarchi with IBM, breaks down the differences between these two CI/CD tools that can ultimately achieve the same thing in different ways.
Chapters
0:00 - Intro
0:49 - Tekton
1:40 - Tekton CI/CD pipeline example
2:29 - Tekton Tasks
3:38 - Tekton Pipelines
4:27 - Tekton PipelineResources
4:54 - Tekton PipelineRun / TriggerTemplate
5:44 - Tekton EventListener
6:49 - Tekton Workspaces
7:27 - Persistent Volume Claim (PVC)
8:15 - Jenkins
8:52 - Jenkins plugins
9:22 - Jenkins UI
9:55 - Jenkins file
11:58 - Webhooks
12:28 - Jenkins storage
12:40 - Jenkins home
14:15 - Summary
Get started on IBM Cloud at no cost → ibm.biz/free-account-creation
Earn a badge with FREE browser-based Kubernetes labs → ibm.biz/no-cost-k8s-labs
Subscribe to see more videos like this in the future → ibm.biz/subscribe-now
#Tekton #Jenkins #DevOps

Пікірлер: 58

  • @RahulChauhanart
    @RahulChauhanart2 жыл бұрын

    Just love how crystal clear explanation are available on this channel, been watching for past 1 years whenever I need to get some basic understanding of cloud technologies and tools

  • @IBMTechnology

    @IBMTechnology

    2 жыл бұрын

    Thank you for the feedback and for being a fan, Rahul! 🙌 Be sure to stay subscribed, we've got more videos coming! 😉

  • @SeekHunt1334
    @SeekHunt1334 Жыл бұрын

    I found the transition between points very fluid and smooth and this made the conclusion very easy to grasp.

  • @arieheinrich3457
    @arieheinrich34572 жыл бұрын

    EVERYTHING explained on tekton is basically Jenkins. Creating a big jenkins file is BAD best practice. You split it to using shared libraries. EVEN the fact tekton runs on pods, can be achieved with slaves running in containers and jenkins engine itself running in a container, and using mounted volumes where you store the folder structures and files (doesnt that sound like PVC) you can get higher availability. All you need is to use kubctl and security admin access to the k8s control plance stored as secrets. This is not a good explanation of what tekton benefits are. If you compare it to a BADLY configured and maintained Jenkins, then obviously anything will be better. If you compare it to a well configured, it actually gives a far better solution than tekton as youre more likely to have lot more workloads that dont need k8s, and then the investment you did in tekton can NOT be shared to other types of workload where in jenkins its just another job with other CLI/Command. Comparing apples to oranges, doesnt make apples better then oranges, its just another fruit.

  • @tonytran07
    @tonytran072 жыл бұрын

    Wasn't convinced switching over after watching this video. But after working on Tekton (Openshift 4 pipeline), I am impressed. You create the task once... and you can re-use it over and over and over again for all other projects I created a simple diagram flow here: [Git Clone] - which I'll specify the parameter URL to point to my bitbucket project -> [NPM] - which I'll name "npm-install" and set the parameter GOALS = "install" -> [NPM] - which I'll name "npm-test" and set the parameter GOALS = "run test" -> [NPM] - which I'll name "npm-build" and set the parameter GOALS = "run build" Define the task "NPM" once... use it everywhere for your company. To avoid creating 3 "NPM" tasks (install, run test, run build, etc), use parameters to allow this single "NPM" task to by dynamic and capable of running any tasks specified. For example, on the NPM, I specified: "string GOALS" - which will be appended to after the "npm" args e.g. "npm ${GOALS} "string CONTEXT_PATH" - which allows user to specify the relative path where the package.json is located I set default to "." but allow user to change it on the fly to "src/main/webapp" for instance... Very impressive. Glad I gave it a chance.

  • @solteszan
    @solteszan2 жыл бұрын

    Regarding reusability: Jenkins also allows defining reusable components in Pipeline Libraries. These libraries can contain very small elements but also complete, parametrizable pipelines as well. When you are using Pipeline Libraries, your actual Jenkinsfiles can be very-very short because it only references library components and parametrizes them. Enterprise level scalability Jenkins itself can run on Kubernetes nicely, there are Helm charts for that. Jenkins also has a fairly sophisticated Kubernetes plugin so that you can run your build stages in dynamically created build pods on the cluster it is installed into or in other remote Kubernetes clusters.

  • @UltimateKeyboardHero
    @UltimateKeyboardHero Жыл бұрын

    I'm using Jenkins which is running in my Kubernetes cluster. Each Jenkins job is located separately in different Jenkinsfile, and I have 1 pipeline Jenkinsfile that connects all those different jobs together. At least with my configuration if I have a docker container build job, I can reuse it by referring to it in another Jenkinsfile for a different job. Came across this because I was interested knowing what Tekton was, loved the explanation. Cheers

  • @mannecj
    @mannecj Жыл бұрын

    Awesome explanation. Sweet and concise and up to the point

  • @KanaKarovStik23
    @KanaKarovStik232 жыл бұрын

    I don't even know about tekton, I will try it on my next CI/CD project.

  • @miodragsimunovic5851
    @miodragsimunovic58512 жыл бұрын

    Excellent and fluent presentation.

  • @antonios4553
    @antonios45532 жыл бұрын

    I'm not studying this to work on it; it's just always fascinating to see the parallels of chemistry and computation.

  • @IBMTechnology

    @IBMTechnology

    2 жыл бұрын

    👍 Stay curious! And thanks for watching!

  • @PranavBhattarai
    @PranavBhattarai2 жыл бұрын

    This channel is the best and the content they provide is awesome.

  • @IBMTechnology

    @IBMTechnology

    2 жыл бұрын

    Thank you for the appreciation, Pranav!

  • @emjay6968
    @emjay6968 Жыл бұрын

    very good summary :-) Really glad seeing such quality contenct published by IBM

  • @davidef.982
    @davidef.9822 жыл бұрын

    This is so well explained, huge thanks to Christina and IBM Technology YT channel !!!

  • @IBMTechnology

    @IBMTechnology

    2 жыл бұрын

    Thank you, Davide! We're glad you're enjoying our channel! 😀

  • @kirangem
    @kirangem Жыл бұрын

    Very good explanation, thank you so much !

  • @d4veg
    @d4veg2 жыл бұрын

    The large Jenkinsfile is slightly misleading because it's very possible to re-use existing code by creating a library (i.e. see SAP's jenkins-library). There was also little mention of how frustrating Jenkins plugin architecture is. Updating any Jenkins plugin requires *restarting* Jenkins, so any running jobs could be impacted. Pipeline state can be serialized to disk after being paused, but resuming from a paused state is not always a safe operation. Also, Jenkins is a singleton and creating a HA failover is not an easy task.

  • @NantawatChairat
    @NantawatChairat2 жыл бұрын

    very helpful video about tekton and jenkins.

  • @muralits77
    @muralits772 жыл бұрын

    Great explanation, One correction though, Jenkins can run within Kubernetes both the masters and slaves and even dynamic slaves on the fly

  • @Saffat-Hasan

    @Saffat-Hasan

    2 жыл бұрын

    Yeah but it's not quite kubernetes native. I've had some issues with scalability regarding the maximum number of concurrent connections that the orchestrator can handle. This only occurs if the master instances are shared which isn't that unusual of a use case considering how large they are to start with

  • Жыл бұрын

    Thanks for the clear explanation, great video. Having said that, I find Tekton quite frustrating. Just getting it to work with OKD (maybe there is a smoother experience with OpenShift) is a bit of trouble and then once that is sorted, I found the learning curve quite steep. Jenkins was a lot easier to learn and handle. I also found the Jenkins documentation a lot more concise compared to Tekton.

  • @msharafi86
    @msharafi862 жыл бұрын

    Thanks for this explanation. I am still prefer to use Jenkines. However, it is knowlegable to know the differences between tekton and jenkines.

  • @benny_semyonov
    @benny_semyonov2 жыл бұрын

    excellent video, thanks!!

  • @pavelchernikov7726
    @pavelchernikov77262 жыл бұрын

    It's not true that Jenkins pipeline can be managed using GUI only. You can have very flexible scenario using Groovy and have it under VCS

  • @javedaws3272
    @javedaws32729 ай бұрын

    Jenkins also offer something called shared libraries which does extend the reuse and one can plug in reusable code into any pipeline

  • @Roman-kpax
    @Roman-kpax2 жыл бұрын

    Thank you for this video!

  • @IBMTechnology

    @IBMTechnology

    2 жыл бұрын

    Glad it was helpful!

  • @timothylucas4978
    @timothylucas49782 жыл бұрын

    Aw I was hoping to see what the actual difference would be. IE showing a working pipeline vs the tekton .yml (.yaml?) structure.

  • @tarikb.2201
    @tarikb.2201 Жыл бұрын

    Very good explanation. I'm an engineer for TeamCity and now for tekton. I was glad to had this when I started my tekton journey. Only thing I'm a little confused is "testing before building"? Or do you mean building images?

  • @tirelibirefe

    @tirelibirefe

    7 ай бұрын

    yes, actually I didn't understand what she mean too.

  • @GnzaloRAM
    @GnzaloRAM2 жыл бұрын

    What about jenkins shared library ?

  • @tedgelpi
    @tedgelpi2 жыл бұрын

    For someone who has dabbled in both Jenkins and Tekton pipelines this video was excellent in helping me understand both CI/CD tools better.

  • @David_Journey
    @David_Journey Жыл бұрын

    Jenkins has pipeline Library, which allows reuse of steps btw

  • @marcin_karwinski
    @marcin_karwinski Жыл бұрын

    The whole single file discussion of Jenkins is a bit incorrect... since actual stage actions/work can be considered a Groovy method, one can easily put those methods in separate files/libraries, which you can then call for/load when needed. Sure, the whole pipeline would still be defined in a single file, similar to Tekton's, but it's going to be calling methods defined elsewhere, same as in most Java/Groovy or other programming languages. The difference I can see is that of more open and programmer oriented stage work definitions Java devs could be more accustomed to in Jenkins, while Tekton is more YAML solutions-like SREs and Kubernetes/Ansible admins would find easier to grasp and organise efficiently.

  • @shivlingpatil527
    @shivlingpatil5272 жыл бұрын

    where can I found full tekton course..? Any full time course available..?

  • @IBMTechnology

    @IBMTechnology

    2 жыл бұрын

    Hi there! We don't have a dedicated course for Tekton at the moment, but be sure to check the links in this video's description for more resources (videos, Kubernetes lab etc.) ⤴️ Also, here's our IBM Tekton page with more info ➡️ ibm.co/3qXVLsV Hope this helps! 🙂

  • @dhananjay.8
    @dhananjay.86 ай бұрын

    Is it good to Build & Test or Test & Build ?? What is the best practices ??

  • @ravikiran9941
    @ravikiran99412 жыл бұрын

    How is tekton different from jenkins x which is another k8s native CI/CD tool ?

  • @Saffat-Hasan

    @Saffat-Hasan

    2 жыл бұрын

    Jenkinsx is built on Tekton btw

  • @_b0h4z4rd7
    @_b0h4z4rd7 Жыл бұрын

    Are you really writing mirrored? Awesome explanation.

  • @benpracht2655
    @benpracht26552 жыл бұрын

    What tech do you use for the reverse writing?

  • @IBMTechnology

    @IBMTechnology

    2 жыл бұрын

    We shared some backstage "secrets" on our Community page, you can check it out here 👉 ibm.co/3pT41d5

  • @tonikroos6895
    @tonikroos68953 ай бұрын

    I'm wondering how she can write it in reverse???

  • @Flankymanga
    @Flankymanga2 жыл бұрын

    So if i get this right the main selling point of Tekton is that it runs on Kubernetes while Jenkins needs VMs directly with Java....

  • Жыл бұрын

    Jenkins can (and IMO should be) run within a container, hence can run in Kubernetes.

  • @istvan368
    @istvan368 Жыл бұрын

    Very good video, but unfortunately I can't watch it because of the sound of the pen :/

  • @tirelibirefe
    @tirelibirefe7 ай бұрын

    Actually the key question wasn't answered. Jenkins means Groovy, I have seen many organizations which want to get rid of Jenkins. Groovy turns Jenkins to a nightmare. For Tekton pipelines, is any programming language experience something like Groovy needed?

  • @DanSpeers
    @DanSpeers2 жыл бұрын

    I like the idea of Tekton, however it is very verbose to do even the simplest of things. Jenkins declarative pipelines are so much easier to use and write and can still drive k8s pods to do the actual work in the same way.

  • @tekiesan
    @tekiesan Жыл бұрын

    Test task should be after dev..not before

  • @misteryu6819
    @misteryu68192 жыл бұрын

    I am a little bit disappointed on this video where it did not address the elephant in the room, why do we choose Tekton over Jenkins, what it’s good for, what’s the limitations

  • @IBMTechnology

    @IBMTechnology

    2 жыл бұрын

    Hi there! While the whole video is trying to explain just that, the advantages are summarized at min. 14:15. What other info would you need exactly? Please also check out the additional links in the video's description, to see more on Tekton. ⤴️ Hope this helps! 🙂

  • @arieheinrich3457

    @arieheinrich3457

    2 жыл бұрын

    @@IBMTechnology Thats a bad summary to being with as the points mentioned can be achieved in jenkins. The only difference is you assume everyone running jenkins on VMs. I run on docker and most of my slaves are in containers, unless i need physical usb devices to test hardware. The only plus i see is that you dont need groovy, although if you use share libraries correctly you can have all your pipeline just being multiple python scripts for that matter so even that point is muted. I agree with OP, the REAL decisions considerations are not really presented.

  • @nitzanmalichi4373
    @nitzanmalichi4373 Жыл бұрын

    Are u writing backwards?

  • @IBMTechnology

    @IBMTechnology

    Жыл бұрын

    Search on "lightboard videos".

  • @andrestorres7343
    @andrestorres73438 ай бұрын

    I don't like Jenkins as it's difficult to configure, but in this video you make it seem as it is not possible to have organized pipelines in Jenkins. That's just not true. In jenkins you are writting code. If you don't know how to organize code, that's on you and is not a problem of the tool.

  • @chrisre2751
    @chrisre27512 жыл бұрын

    Writing all your logic in one Jenkinsfile is bad practice. You can use a shared library and reuse your logic. Also you can have a very structured solution with shared libraries in Jenkins.

Келесі