If you’ve worked with traditional Jenkins pipelines, you probably remember managing plugins, agents, and brittle configurations. Now imagine replacing that entire setup with Kubernetes-native building blocks that are portable, declarative, and version-controlled. That’s where Tekton comes in—and where Jenkins X takes things a step further.
Start with the core idea: Tekton
Tekton is an open-source framework for building CI/CD pipelines on Kubernetes. It doesn’t try to be a full platform. Instead, it gives you low-level primitives to define pipeline behavior using Kubernetes Custom Resource Definitions (CRDs).
At its heart, Tekton introduces a few key concepts:
- Task: A reusable unit of work (like running tests or building an image)
- Pipeline: A sequence of Tasks connected together
- PipelineRun: A specific execution of a Pipeline
- TaskRun: A specific execution of a Task
Instead of writing CI logic in proprietary syntax, you define everything as YAML. That means your pipelines are portable, version-controlled, and Kubernetes-native by design.
A quick Tekton example
Here’s a minimal Task that runs unit tests:
1apiVersion: tekton.dev/v1beta1
2kind: Task
3metadata:
4 name: run-tests
5spec:
6 steps:
7 - name: test
8 image: node:18
9 script: |
10 npm install
11 npm test
12This gets executed inside a Kubernetes pod. No separate build server required.
So where does Jenkins X come in?
Tekton is powerful—but also low-level. You still need to define workflows, manage environments, and handle GitOps processes yourself.
Jenkins X builds on top of Tekton to provide a complete CI/CD platform designed specifically for Kubernetes and cloud-native applications.
Think of it this way:
- Tekton = execution engine
- Jenkins X = developer platform built on that engine
Jenkins X uses Tekton pipelines under the hood but adds automation, conventions, and tooling to reduce manual setup.
How Jenkins X uses Tekton pipelines
When you create or import a project in Jenkins X, it automatically generates Tekton pipelines for you. These pipelines are stored in your repository, typically in a .lighthouse or jenkins-x.yml configuration.
Instead of writing raw Tekton YAML from scratch, Jenkins X abstracts much of the complexity while still allowing customization.
Here’s where things get interesting:
- Pipelines are triggered by Git events (pull requests, commits, releases)
- Each step runs as a container in Kubernetes
- Build logs and statuses are tied directly to GitHub or Git providers
Example: Jenkins X pipeline definition
Rather than defining every Task manually, Jenkins X might generate something like:
1pipelineConfig:
2 pipelines:
3 release:
4 pipeline:
5 stages:
6 - name: build
7 steps:
8 - command: npm install
9 - command: npm run build
10 - name: deploy
11 steps:
12 - command: jx promote --env production
13Under the hood, this gets translated into Tekton resources.
Why Tekton replaced traditional Jenkins pipelines in Jenkins X
Earlier versions of Jenkins X relied on Jenkins itself. But managing Jenkins at scale in Kubernetes environments proved difficult.
Switching to Tekton solved several problems:
- No central server: Pipelines run as Kubernetes resources
- Better scalability: Each pipeline execution is isolated
- Cloud-native design: Everything integrates with Kubernetes APIs
- Declarative configuration: Pipelines live in Git
This shift aligns with modern DevOps practices where infrastructure and pipelines are treated as code.
GitOps + Tekton + Jenkins X
One of Jenkins X’s defining features is its GitOps workflow. Tekton handles pipeline execution, while Jenkins X manages environment promotion through Git repositories.
A typical flow looks like this:
- Developer pushes code
- Tekton pipeline runs build and tests
- Docker image is created and tagged
- Jenkins X updates a Git repo representing the environment
- Kubernetes syncs the new state automatically
This approach eliminates manual deployments and keeps environments reproducible.
Common misconception: “Is Tekton just another Jenkins?”
Not really. Tekton is not a CI server—it’s a framework.
Here’s a practical distinction:
- Jenkins: Monolithic server with plugins and UI
- Tekton: Kubernetes-native building blocks for pipelines
- Jenkins X: Opinionated platform using Tekton + GitOps
If you’re expecting a UI-heavy tool like Jenkins, Tekton will feel minimal. That’s intentional.
Where Tekton shines (and where it doesn’t)
Strengths:
- Deep Kubernetes integration
- Highly portable pipelines
- Scales naturally with cluster resources
Trade-offs:
- Steeper learning curve at the raw level
- Requires Kubernetes knowledge
- Less “out-of-the-box” compared to traditional CI tools
This is exactly why Jenkins X exists—to bridge that gap.
When should you use Tekton with Jenkins X?
You’ll get the most value from this combination if:
- You’re already running workloads on Kubernetes
- You want fully automated CI/CD pipelines
- You prefer GitOps over manual deployments
- You want to avoid managing Jenkins servers
If your setup is simpler or not Kubernetes-based, Tekton might feel like overkill.
Putting it all together
Tekton provides the foundation: a flexible, Kubernetes-native way to define and run pipelines.
Jenkins X builds on top of that foundation, turning those primitives into a complete developer experience with automation, GitOps workflows, and environment management.
In short: Tekton runs your pipelines, Jenkins X orchestrates your entire CI/CD lifecycle.
Once you see them together, it’s less about choosing between tools and more about understanding how they complement each other in a modern DevOps stack.