Did we reinvent the wheel? Why we eschewed existing infrastructure as code and CI/CD tools
The problems:
How do we deploy dozens of microservices to many different environments while avoiding rewriting for different environments, including smaller clouds and local dev stacks?
How do we give devs control over their environments, giving them access to multiple clusters and cluster resources?
How do we enable rapid, local iteration and free developers from waiting in a CI/CD queue?
Can we go from source to executable to Docker image to Kubernetes cluster in a one line command?
Our solution:
Python wrapper to do variable replacement and run shell commands.
3 major sections - compile code, build docker image, deploy to cluster
System of buildconfigs gives fine grained control over what gets deployed
Audience takeaways:
Why and when to consider writing your own buildsystem
An example of how to structure a buildsystem for your own project
Bella is a DevOps engineer on the infrastructure engineering team at Wizards of the Coast. She focuses on Kubernetes and works closely with various game