Updated: Nov 10
Alex Klibisz is a staff software engineer on the energy product software team at Tesla. His work spans energy asset management, microservice authentication and authorization, and build infrastructure.
Pragmatic, scalable, and ergonomic CI/CD using Github Actions and Kubernetes
Most of us have encountered some form of painful CI/CD tooling. It can be a major bottleneck and is not a fun place to be as an engineering organization. In this talk, I will describe how the energy product software team at Tesla migrated our CI/CD workloads to Github Actions, and how we improved the ergonomics and scalability of our CI/CD system in a relatively pragmatic, low-effort fashion.
We will start with the basics of Github Actions and work up to more advanced topics, such as using reusable workflows and composite actions to minimize boilerplate and maintain consistent builds across many repos, writing automated tests for composite actions and reusable workflows, using the open-source actions-runner-controller project to deploy autoscaling runners in Kubernetes, and optimizing build performance for large Scala projects. The talk will emphasize pragmatic solutions, using off-the-shelf components and some basic scripting. My hope is that attendees walk away with some practical ideas for improving their own CI/CD systems.