Feature branch environments with Kubernetes and Octopus
Blog post from Octopus Deploy
Bob Walker's article delves into the challenges and solutions associated with testing and obtaining feedback for short-lived feature branches before merging them into the main branch, focusing on the use of Kubernetes and Octopus for creating dynamic testing infrastructure. He highlights the importance of maintaining a deployable main branch, a core principle of Continuous Delivery, and introduces a branching strategy that includes creating temporary environments for feature branches. These environments are deployed in Kubernetes and SQL Server, allowing each feature branch to have its own namespace and database, which are automatically destroyed once a pull request is closed. The piece also addresses versioning strategies, the configuration of Octopus Deploy, and the use of GitHub Actions for build automation. Walker discusses the advantages and limitations of this approach, emphasizing the reuse of static infrastructure and the close integration between build and deployment servers. He concludes by suggesting that his method can be adapted for other application types, encouraging iteration and customization to fit specific needs.