Streamlining Kubernetes Application CI/CD with Bazel
Channel: Weaveworks, Inc.
Date: 2019-09-10

Creating a repeatable Kubernetes application deployment pipeline with the Bazel build system offers a number of advantages over traditional Kubernetes application CI/CD approaches. We will describe how to use Bazel, along with its container and Kubernetes support, to deploy many different services to multiple different clusters and environments. Using a repeatable build process maximizes container layer caching and takes advantage of Kubernetes built in pod template hashing. With this caching in place, it becomes feasible to deploy all services in a large repo reliably without under-deploying -- not deploying changed components, leaving them unvalidated on master -- or over-deploying, waiting for a potentially expensive rollout despite not having made changes. Bazel's rules_docker also allow you to build deterministic container images without the Docker daemon, simplifying CI/CD.

Slideshare: https://www.slideshare.net/weaveworks/streamlining-kubernetes-application-cicd-with-bazel
Speaker: Chris Love, Founder, LionKube
Host: Tamao Nakahara, Head of Developer Experience, Weaveworks

To learn more about GitOps, check out: The Practical Guide to GitOps (eBook): http://bit.ly/gitops_guide