File 01
Pipelines from ten minutes to under three
<3 min per build, down from about 10
About 250 engineers across 500+ repositories shipped through the GitLab CI/CD platform I designed.
Builds were taking around ten minutes, which is a long time to sit and watch when 250 people are doing it all day. The problem turned out to be memory: the runners just weren’t big enough for the jobs. Giving them more made an immediate difference, and refactoring our Dockerfiles to cache properly took it the rest of the way. Under three minutes.
The point of that wasn’t really the time saved. Teams could deploy whenever they wanted instead of batching work up for a big release, and when a build did fail it failed early, so it got fixed faster too.
I also set up the React/Next.js and TypeScript templates new apps start from, so a new project arrived with the structure, testing and build config already in place.
GitLab CI/CD, Docker, Kubernetes/EKS, AWS, React, Next.js, TypeScript
Press run to put the same commit through the old pipeline and the new one, side by side.
Before: undersized runners, no layer cache. After: more memory, cached Docker layers.
Stage timings are illustrative. The fixes and the result are real: pipelines went from about 10 minutes to under 3.


