Martin Beránek
GitLab CI pipelines for a whole company
#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.
Matching moments
06:12 MIN
Building a comprehensive CI/CD pipeline with GitLab
Enabling automated 1-click customer deployments with built-in quality and security
03:58 MIN
Audience Q&A on DevOps, tools, and process
GitOps for the people
03:33 MIN
Introduction to GitOps and the talk agenda
Get ready for operations by pull requests
04:31 MIN
Demo of building a DevSecOps pipeline with Bitrise
DevSecOps: Injecting Security into Mobile CI/CD Pipelines
02:39 MIN
Implementing a new CI/CD architecture with GitOps
GitOps for the people
08:54 MIN
Live demonstration of a Keptn GitOps pipeline
Practical tips and tricks for CI/CD success
05:52 MIN
Q&A on shared systems and scaling productivity
Forget Developer Platforms, Think Developer Productivity!
01:13 MIN
Recap of key CI/CD patterns and antipatterns
CI/CD Patterns and Antipatterns - Things your Pipeline Should (Not) Do
Featured Partners
Related Videos
Practical tips and tricks for CI/CD success
Zan Markan
Enabling automated 1-click customer deployments with built-in quality and security
Christoph Ruggenthaler
Reusing apps between teams and environments through Containers
Adrian Kosmaczewski
Get ready for operations by pull requests
Liviu Costea
Plan CI/CD on the Enterprise level!
Pawel Piwosz
Improving Developer Happiness with GitOps
Lars Hesel Christensen & Basil Brunner
Securing Your Web Application Pipeline From Intruders
Milecia McGregor
The perfect CI/CD React Native pipeline with Fastlane
Edoardo Dusi
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.

MediaCologne Kommunikationsmedien GmbH
Hürth, Germany
Intermediate
Senior
Docker
Gitlab

Imar Navigation Gmbh
Remote
Gitlab
Software Architecture

Atruvia AG
Berlin, Germany
Intermediate
Senior
GIT
Jenkins


Sector Nord AG
Oldenburg, Germany
Intermediate
Senior
Docker
InfluxDB

Friedrich Kicherer GmbH & Co. KG
Ellwangen (Jagst), Germany
Junior
Intermediate
Senior
GIT
Docker
JavaScript

iits-consulting GmbH
München, Germany
Intermediate
Go
Docker
DevOps
Kubernetes

smartclip Europe GmbH
Hamburg, Germany
Intermediate
Senior
GIT
Linux
Python
Kubernetes
