π Jenkins X Explained: Is It SaaS or VM-Based?
As teams adopt Kubernetes and GitOps, traditional CI/CD tools often feel complex to manage.
This is where Jenkins X comes in β but one common question keeps coming up:
Is Jenkins X SaaS, or does it run on a VM like Jenkins?
Letβs answer that clearly.
π What Is Jenkins X?
Jenkins X is a cloud-native CI/CD platform designed specifically for Kubernetes-based applications.
Unlike classic Jenkins:
- It follows GitOps by default
- It automates environment promotion
- It creates preview environments for every pull request
Itβs opinionated β and intentionally so.
βοΈ Is Jenkins X a SaaS?
No. Jenkins X is NOT a SaaS offering.
- There is no hosted Jenkins X service
- You must deploy and manage it yourself
- It runs inside your Kubernetes cluster
If youβre looking for SaaS CI/CD, tools like GitHub Actions, GitLab CI, or CircleCI are better choices.
π₯οΈ Is Jenkins X VM-Based?
Not directly.
Jenkins X does not run like traditional Jenkins on a standalone VM.
Instead:
- Jenkins X runs inside Kubernetes
- Kubernetes itself may run on VMs (EKS, GKE, AKS, on-prem)
π Jenkins X is Kubernetes-native, not VM-first
π§± Jenkins X Architecture (High Level)
- Kubernetes (EKS / AKS / GKE / OpenShift)
- Tekton Pipelines β CI/CD engine
- Lighthouse β PR and webhook handler
- GitOps Repositories β environment definitions
- Helm β application deployment
- Preview Environments β per pull request
All builds, tests, and deployments run as short-lived Kubernetes pods.
π How Jenkins X CI/CD Flow Works
- Developer opens a Pull Request
- Git webhook triggers Lighthouse
- Tekton Pipeline starts automatically
- Application is built and tested
- A preview environment is created
- Merge to main triggers GitOps-based promotion
- Kubernetes reconciles desired state
No plugin management.
No long-running build servers.
βοΈ Jenkins vs Jenkins X
| Feature | Jenkins | Jenkins X |
|---|---|---|
| Deployment | VM / Container | Kubernetes |
| SaaS | β | β |
| Pipeline Engine | Jenkins (Groovy) | Tekton |
| Configuration | Jenkinsfile | YAML + GitOps |
| Scaling | Manual agents | Auto-scaling pods |
| Preview Environments | β | β |
| Best For | Traditional CI/CD | Cloud-native CI/CD |
β When Should You Use Jenkins X?
Use Jenkins X if:
- Your workloads run on Kubernetes
- You follow GitOps practices
- You want automated preview environments
- You prefer opinionated automation
Avoid Jenkins X if:
- You donβt use Kubernetes
- You need heavy plugin customization
- You want a managed SaaS CI/CD tool
π§ Real Jenkins X Pipeline YAML Example
In Jenkins X, pipelines are defined using Tekton YAML, usually generated and managed by Jenkins X, but you can customize or understand them directly.
π File: .lighthouse/jenkins-x/release.yaml
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
name: release
labels:
jenkins.io/pipelineType: build
spec:
workspaces:
- name: source
params:
- name: version
type: string
description: Application version
tasks:
- name: clone-repo
taskRef:
name: git-clone
workspaces:
- name: output
workspace: source`
- name: run-tests
runAfter:
- clone-repo
taskSpec:
workspaces:
- name: source
steps:
- name: test
image: node:18
workingDir: $(workspaces.source.path)
script: |
npm install
npm test
- name: build-image
runAfter:
- run-tests
taskRef:
name: kaniko
params:
- name: IMAGE
value: myrepo/myapp:$(params.version)
workspaces:
- name: source
workspace: source
- name: deploy
runAfter:
- build-image
taskSpec:
steps:
- name: helm-deploy
image: alpine/helm:3.14.0
script: |
helm upgrade --install myapp charts/myapp \
--set image.tag=$(params.version)
`
π What This Pipeline Does
Step Purpose
git-clone Pulls source code from Git
run-tests Runs application unit tests
build-image Builds and pushes container image using Kaniko
deploy Deploys application using Helm
β Runs fully inside Kubernetes
β Each task executes in its own pod
β No Jenkins agents or executors
π¦ How Jenkins X Triggers This Pipeline
You donβt manually start pipelines in Jenkins X.
Instead:
Pull Requests β trigger preview pipelines
Merge to main β triggers release pipeline
Promotion β happens via GitOps repo changes
Triggering is handled by Lighthouse, not Jenkins jobs.
π§ Final Thoughts
Jenkins X is neither SaaS nor VM-based.
It is a Kubernetes-native CI/CD platform built for modern DevOps teams.
If Jenkins feels like CI you manage,
Jenkins X feels like CI/CD that manages itself.
Thanks for reading!
If this helped you, feel free to share or drop your thoughts in the comments.
Top comments (0)