Sitemap

The CI/CD Setup That Cut Our Deployment Time from 40 Minutes to 8

How we optimized our deployment pipeline and got back 32 minutes of our lives (per deployment)

5 min readOct 27, 2025

--

I’m not going to pretend this was some grand architectural vision we had from day one. Our deployment pipeline was slow, painfully slow, and we just… dealt with it. You know how it goes — you grab coffee, check Slack, maybe start writing some docs while the deployment runs. Before you know it, 40 minutes of “context switching productivity” becomes the norm.

Press enter or click to view image in full size

Then one Thursday afternoon, our CTO deployed a hotfix three times because of a typo. That’s two hours of just… waiting. That was the breaking point.

Where We Started (The Painful Truth)

Our original pipeline looked something like this:

# .gitlab-ci.yml (The Old Way)
stages:
- test
- build
- deploy

test:
stage: test
script:
- npm install
- npm run test
- npm run lint

build:
stage: build
script:
- docker build -t myapp:$CI_COMMIT_SHA .
- docker push myapp:$CI_COMMIT_SHA
deploy:
stage: deploy
script:
- kubectl set image deployment/myapp myapp=myapp:$CI_COMMIT_SHA
- kubectl rollout status deployment/myapp

--

--

Bhavyansh
Bhavyansh

Written by Bhavyansh

Hey I write about Tech. Join me as I share my tech learnings and insights. 🚀 Building flux8labs.com

Responses (1)