概要 前職の同僚がずっと、PullRequest ごとにプレビュー環境でアプリケーションをデプロイしたいと言っていた。 確かにそれができれば便利ではあるけど、たとえ k8s の力を借りても実現するまでの手順は多く、遠い夢かと思っていた。 でも ArgoCD で頑張ればその夢は近くなるかもしれない。 これは、ArgoCDの Config Management Plugin (CMP) と呼ばれる機能を使って、動的なマニフェスト生成を行い、さらにPullRequestごとの固有の情報をマニフェストに柔軟に埋め込むための仕組みを考えてみたという話。 想定読者 k8s にある程度詳しい ArgoCD にもある程度詳しい ArgoCD の ApplicationSet や Generator の機能を知っている、あるいは調べればわかる方 参考資料 GitブランチやPullRequestごとにプレビュ