<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Bolat </title>
    <description>The latest articles on DEV Community by Bolat  (@minovarov).</description>
    <link>https://dev.to/minovarov</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4097804%2F43ea799c-3fd1-42f6-92c4-ca7afd7a7e71.png</url>
      <title>DEV Community: Bolat </title>
      <link>https://dev.to/minovarov</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/minovarov"/>
    <language>en</language>
    <item>
      <title>I built a local CI/CD runner to debug pipelines before pushing them</title>
      <dc:creator>Bolat </dc:creator>
      <pubDate>Thu, 27 Aug 2026 17:09:37 +0000</pubDate>
      <link>https://dev.to/minovarov/i-built-a-local-cicd-runner-to-debug-pipelines-before-pushing-them-2n06</link>
      <guid>https://dev.to/minovarov/i-built-a-local-cicd-runner-to-debug-pipelines-before-pushing-them-2n06</guid>
      <description>&lt;p&gt;CI/CD pipelines are great once they work.&lt;/p&gt;

&lt;p&gt;But developing and debugging them often looks like this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;change YAML -&amp;gt; push -&amp;gt; wait for CI -&amp;gt; find an error -&amp;gt; change it -&amp;gt; push again&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I wanted to shorten that feedback loop, so I built &lt;strong&gt;Zetken CI/CD Studio&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;Zetken runs as a standalone binary on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Windows&lt;/li&gt;
&lt;li&gt;Linux&lt;/li&gt;
&lt;li&gt;macOS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It includes a browser-based Studio UI for managing projects, pipelines, runs and logs.&lt;/p&gt;

&lt;p&gt;Pipeline commands execute locally on the same machine where Zetken is running.&lt;/p&gt;

&lt;p&gt;Some of the current features include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pipeline validation&lt;/li&gt;
&lt;li&gt;Stage/job/step execution&lt;/li&gt;
&lt;li&gt;Isolated logs&lt;/li&gt;
&lt;li&gt;Run history and cancellation&lt;/li&gt;
&lt;li&gt;Artifacts&lt;/li&gt;
&lt;li&gt;Source snapshots and comparison&lt;/li&gt;
&lt;li&gt;Runtime parameters&lt;/li&gt;
&lt;li&gt;Secret masking&lt;/li&gt;
&lt;li&gt;&lt;code&gt;needs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Parallel and matrix jobs&lt;/li&gt;
&lt;li&gt;Cache restore/save&lt;/li&gt;
&lt;li&gt;&lt;code&gt;hashFiles()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Job outputs&lt;/li&gt;
&lt;li&gt;Docker image build steps&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Migration Assistant
&lt;/h2&gt;

&lt;p&gt;Zetken also includes a Migration Assistant for supported subsets of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub Actions&lt;/li&gt;
&lt;li&gt;Azure DevOps&lt;/li&gt;
&lt;li&gt;Jenkins Declarative pipelines&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The generated pipeline can then be reviewed, edited and executed locally in Zetken.&lt;/p&gt;

&lt;h2&gt;
  
  
  Local-first
&lt;/h2&gt;

&lt;p&gt;The current focus is local pipeline development and debugging.&lt;/p&gt;

&lt;p&gt;There are no remote Zetken runner pools yet, and I'm not trying to replace a complete production CI/CD platform at this stage.&lt;/p&gt;

&lt;p&gt;The goal is simpler:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;make it easier to build and debug CI/CD pipelines locally before they reach remote CI.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Zetken is currently in beta and includes an automatic 60-day local trial.&lt;/p&gt;

&lt;p&gt;You can try it here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://zetken.com/?utm_source=devto&amp;amp;utm_medium=community&amp;amp;utm_campaign=beta2_launch" rel="noopener noreferrer"&gt;zetken.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'd really appreciate feedback from people working with CI/CD:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the most frustrating part of developing or debugging pipelines today?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>devops</category>
      <category>cicd</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
