Their legacy CI system was a costly, daily puzzle. So they rewrote it with GitLab CI, cutting maintenance down to just eight hours a month.
#1about 3 minutes
Overcoming the challenges of a legacy Jenkins pipeline
The initial Jenkins setup suffered from an undocumented and unversioned Groovy codebase, leading to high maintenance toil for the operations team.
#2about 4 minutes
Establishing new requirements for a modern CI system
The decision to migrate was driven by high support costs, while retaining successful concepts like monorepos and setting new goals for simplicity and clarity.
#3about 3 minutes
How GitLab CI pipelines use stages, jobs, and DAGs
GitLab CI pipelines are structured with sequential stages and parallel jobs, which can be optimized into a Directed Acyclic Graph (DAG) using the `needs` keyword.
#4about 4 minutes
Applying principles for scalable and maintainable pipelines
Key principles for success include recycling configurations with `include`, documenting complex jobs, assigning clear ownership, and tracking known issues as pitfalls.
#5about 4 minutes
Customizing pipeline runtimes and implementing robust testing
Pipeline execution is customized using variable Docker images, while testing is handled with Docker Compose and dynamic environments are managed for quality assurance.
#6about 3 minutes
Solving performance bottlenecks from data sharing and dependencies
Sharing large artifacts like `node_modules` is slow, so performance is improved by implementing local package caches and runner-level volume mounts.
#7about 3 minutes
Key lessons learned from the CI migration process
Important takeaways include educating developers on best practices, automating dependency updates with Renovate, and carefully managing changes in a shared monorepo.
#8about 4 minutes
A feature wishlist for improving GitLab CI workflows
Future improvements to GitLab CI could include native HashiCorp Vault integration, map support for variables, simpler rule evaluation, and faster artifact sharing.
Related jobs
Jobs that call for the skills explored in this talk.
Dev Digest 214: Claude Is Leaking, GitHub Is Listening & Axios Hacked!Inside last week’s Dev Digest 214 .
🕵️ Claude source code leaked, analysed and re-written in 2 days
🐙 GitHub auto-opts users into feeding their code to train their AI
🌐 Pretext shows how to show complex text rendering in the browser
🤖 How to securin...
Andre Braun, GitLab
Now is the time for industrialized software developmentNow is the time for industrialized software development
Recently, I received a letter from my car’s manufacturer alerting me to a recall. They had discovered a defective part and wanted to replace it.
It was easily fixed, and I might have forgotten a...
From learning to earning
Jobs that call for the skills explored in this talk.