<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/the-rebuild-loop-that-was-killing-my-momentum-r45uykd5n" -->

---
title: The Rebuild Loop That Was Killing My Momentum | daily.dev
description: A developer shares how Skaffold eliminated the slow manual Docker build-push-deploy cycle when working with a multi-service Kubernetes project. The post walks...
canonical: https://daily.dev/posts/the-rebuild-loop-that-was-killing-my-momentum-r45uykd5n
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: The Rebuild Loop That Was Killing My Momentum | daily.dev
og:description: A developer shares how Skaffold eliminated the slow manual Docker build-push-deploy cycle when working with a multi-service Kubernetes project. The post walks...
og:url: https://daily.dev/posts/the-rebuild-loop-that-was-killing-my-momentum-r45uykd5n
og:image: https://api.daily.dev/og/posts/R45uyKd5N.png
og:image:alt: The Rebuild Loop That Was Killing My Momentum
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# The Rebuild Loop That Was Killing My Momentum

**[Medium](https://daily.dev/sources/medium_js)** · 8 min read · 0 upvotes · 0 comments

## Summary

A developer shares how Skaffold eliminated the slow manual Docker build-push-deploy cycle when working with a multi-service Kubernetes project. The post walks through setting up skaffold.yaml with build, deploy, and sync sections, explains how the file sync feature copies changed TypeScript files directly into running containers without rebuilding images, and covers key commands like skaffold dev, run, build, delete, and debug. The result: code changes appear in seconds instead of minutes, logs from all services stream to one terminal, and cleanup is a single keystroke.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://medium.com/@m.akhan0616/the-rebuild-loop-that-was-killing-my-momentum-2161e8d31129>

## Questions this post answers

### How do I stop Skaffold from rebuilding my Docker image every time I change a file in a Kubernetes dev environment?

Use the sync.manual block in skaffold.yaml to copy changed files directly into the running container instead of rebuilding the image. Define a src glob pattern, such as src/**/*.ts for TypeScript files, and a dest path like the container's working directory root. Changes then appear in seconds without a rebuild, push, or redeploy.

_Developers wiring up Skaffold sync rules can compare configs and gotchas shared by others on daily.dev._

### What does skaffold dev actually do when I run it against a Kubernetes cluster?

It builds an image for every service in the artifacts list, pushes each to the configured registry, applies every Kubernetes manifest in the specified folder to create deployments and services, then watches source files based on defined sync rules and streams logs from every running service into one terminal, each line tagged by service name.

_Anyone tuning a Kubernetes microservices dev loop can find more workflow breakdowns like this on daily.dev._

### What is the difference between skaffold run and skaffold dev?

skaffold run builds, pushes, and deploys everything once without watching for further file changes afterward, making it suited to a one-off deployment. skaffold dev performs the same build-push-deploy cycle but then continues watching source files and syncing changes into running containers, which makes it the command used for active, ongoing development.

_Developers deciding between Skaffold commands for their workflow can browse related comparisons on daily.dev._

## Similar posts on daily.dev

- [The Frustration, The Fire, and The Blueprint for Devspace\*](https://daily.dev/posts/the-frustration-the-fire-and-the-blueprint-for-devspace--mvbdhdmuc) · Medium · 0 upvotes · 0 comments
- [I built my entire developer workflow around these Docker containers, and I’m not going back](https://daily.dev/posts/i-built-my-entire-developer-workflow-around-these-docker-containers-and-i-m-not-going-back-pkhhuiqcr) · XDA Developers · 6 upvotes · 0 comments
- [CI/CD for monorepos](https://daily.dev/posts/ci-cd-for-monorepos-uwylm7rrx) · Serverless · 87 upvotes · 5 comments
- [Docker Layer Caching: The Build-Speed Secret](https://daily.dev/posts/docker-layer-caching-the-build-speed-secret-de64ytiyb) · Medium · 3 upvotes · 2 comments
- [GitHub Codespaces Prebuilds: CI](https://daily.dev/posts/github-codespaces-prebuilds-ci-fvdrjd3y0) · SitePoint · 0 upvotes · 0 comments

---

Tags: [#kubernetes](https://daily.dev/tags/kubernetes), [#docker](https://daily.dev/tags/docker), [#microservices](https://daily.dev/tags/microservices)

[View this post on daily.dev](https://daily.dev/posts/the-rebuild-loop-that-was-killing-my-momentum-r45uykd5n)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"The Rebuild Loop That Was Killing My Momentum","url":"https://daily.dev/posts/the-rebuild-loop-that-was-killing-my-momentum-r45uykd5n","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/the-rebuild-loop-that-was-killing-my-momentum-r45uykd5n"},"datePublished":"2026-07-20T19:33:37.366Z","dateModified":"2026-09-14T08:02:10.231Z","description":"A developer shares how Skaffold eliminated the slow manual Docker build-push-deploy cycle when working with a multi-service Kubernetes project. The post walks...","image":"https://media.daily.dev/image/upload/s--VDukGCjf--/f_auto/v1722860399/public/Placeholder%2002","thumbnailUrl":"https://media.daily.dev/image/upload/s--VDukGCjf--/f_auto/v1722860399/public/Placeholder%2002","isAccessibleForFree":true,"articleSection":"Medium","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Medium","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium","url":"https://daily.dev/sources/medium_js"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/the-rebuild-loop-that-was-killing-my-momentum-r45uykd5n","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"kubernetes,docker,microservices","timeRequired":"PT8M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Medium","item":"https://daily.dev/sources/medium_js"},{"@type":"ListItem","position":3,"name":"The Rebuild Loop That Was Killing My Momentum"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/the-rebuild-loop-that-was-killing-my-momentum-r45uykd5n#faq","mainEntity":[{"@type":"Question","name":"How do I stop Skaffold from rebuilding my Docker image every time I change a file in a Kubernetes dev environment?","acceptedAnswer":{"@type":"Answer","text":"Use the sync.manual block in skaffold.yaml to copy changed files directly into the running container instead of rebuilding the image. Define a src glob pattern, such as src/**/*.ts for TypeScript files, and a dest path like the container's working directory root. Changes then appear in seconds without a rebuild, push, or redeploy. Developers wiring up Skaffold sync rules can compare configs and gotchas shared by others on daily.dev."}},{"@type":"Question","name":"What does skaffold dev actually do when I run it against a Kubernetes cluster?","acceptedAnswer":{"@type":"Answer","text":"It builds an image for every service in the artifacts list, pushes each to the configured registry, applies every Kubernetes manifest in the specified folder to create deployments and services, then watches source files based on defined sync rules and streams logs from every running service into one terminal, each line tagged by service name. Anyone tuning a Kubernetes microservices dev loop can find more workflow breakdowns like this on daily.dev."}},{"@type":"Question","name":"What is the difference between skaffold run and skaffold dev?","acceptedAnswer":{"@type":"Answer","text":"skaffold run builds, pushes, and deploys everything once without watching for further file changes afterward, making it suited to a one-off deployment. skaffold dev performs the same build-push-deploy cycle but then continues watching source files and syncing changes into running containers, which makes it the command used for active, ongoing development. Developers deciding between Skaffold commands for their workflow can browse related comparisons on daily.dev."}}]}
```

