DevConf.cz 2022 has ended
Back To Schedule
Friday, January 28 • 12:00pm - 12:50pm
Advanced GitLab CI/CD for fun and profit

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Red Hat's Continous Kernel Integration (CKI) project provides CI-as-a-service for all internal kernel development.
GitLab CI is used for the CKI kernel testing, but also for development, testing and deployment of the CKI infrastructure itself.

In this talk, we will show how you can use some of the more advanced features of GitLab CI/CD to DevOps-ify your project.

Based on a fictive Python service modeled after the CKI project, we will demonstrate how to
- use templates to setup the repositories for a couple of microservices
- efficiently define a common CI/CD pipeline (test + build + deploy) across repositories
- integrate linters and unit tests
- visualize and enforce code coverage
- setup approval rules based on code ownership
- test the effect of unmerged code changes on dependent projects by triggering child pipelines
- continuously deliver microservices via container images
- use one common GitOps infrastructure repository for managing *all* infrastructure
- continuously/manually deploy an application to production/staging/per-MR testing environments in an OpenShift cluster even for unmerged code
- manually rollback you application to a previous version within seconds

We hope to convince you that using the extensive CI/CD features of contemporary Git forges like GitHub and GitLab will allow you to
- have more fun while working on your projects, *and*
- deliver more features faster

The example repositories used in the presentation can be found at https://gitlab.com/cki-project/devconfcz-2022-example.

Background about the CKI project:
The CKI project provides all the infrastructure behind the green check marks on CentOS/RHEL kernel merge requests on gitlab.com.
All code and deployment infrastructure is developed completely in the open at https://gitlab.com/cki-project.
Currently, the CKI project consists of about 70 microservices/cronjobs and dozens of code repositories.
Every day, about 20 code and infrastructure changes are merged and automatically deployed to the production environment.

Session chairs: Marek Haičman and Nora Haxidautiova

avatar for Michael Hofmann

Michael Hofmann

Senior Software Engineer, Red Hat
CKI Project
avatar for Iñaki Malerba

Iñaki Malerba

Senior Software Engineer, Red Hat

Friday January 28, 2022 12:00pm - 12:50pm CET
Session Room 1