アプリケーション開発をするにあたってプロダクション環境にコードをデプロイする前にステージング環境で動作確認をしていると思います。
GMOペパボ株式会社でも、そのようなリリースフローを取っています。
当社では1つのステージング環境を複数の開発者で共有しており、利用者の競合や、検証したいアプリケーションをデプロイする手間が発生し生産性が低下していました。
そこで、Pull Request毎に専用のプレビュー環境を生成することでこの問題を解決しました。
Pull Request毎のプレビュー環境はkubernetes上に生成しており、ArgoCDや自作のKubernetes Operatorを組み合わせて、GitOpsで実現しています。
本セッションでは、この構成に至った経緯や具体的な仕組みについて解説します。