DEV Community

Bolat
Bolat

Posted on

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:

zetken.com

I'd really appreciate feedback from people working with CI/CD:

What is the most frustrating part of developing or debugging pipelines today?

Top comments (0)