I built a local CI/CD runner to debug pipelines before pushing them
CI/CD pipelines are great once they work.
But developing and debugging them often looks like this:
change YAML -> push -> wait for CI -> find an error -> change it -> push again
I wanted to shorten that feedback loop, so I built Zetken CI/CD Studio.
Zetken is a local-first CI/CD runner that lets you create, validate, run and debug pipelines directly on your own machine before pushing them to remote CI.
How it works
Zetken runs as a standalone binary on:
- Windows
- Linux
- macOS
It includes a browser-based Studio UI for managing projects, pipelines, runs and logs.
Pipeline commands execute locally on the same machine where Zetken is running.
Some of the current features include:
- Pipeline validation
- Stage/job/step execution
- Isolated logs
- Run history and cancellation
- Artifacts
- Source snapshots and comparison
- Runtime parameters
- Secret masking
needs- Parallel and matrix jobs
- Cache restore/save
hashFiles()- Job outputs
- Docker image build steps
Migration Assistant
Zetken also includes a Migration Assistant for supported subsets of:
- GitHub Actions
- Azure DevOps
- Jenkins Declarative pipelines
The generated pipeline can then be reviewed, edited and executed locally in Zetken.
Local-first
The current focus is local pipeline development and debugging.
There are no remote Zetken runner pools yet, and I'm not trying to replace a complete production CI/CD platform at this stage.
The goal is simpler:
make it easier to build and debug CI/CD pipelines locally before they reach remote CI.
Zetken is currently in beta and includes an automatic 60-day local trial.
You can try it here:
I'd really appreciate feedback from people working with CI/CD:
What is the most frustrating part of developing or debugging pipelines today?