弊社、株式会社ユーザベースでは、Jenkins を主な CI/CD ツールとして Kubernetes に対するリソースデプロイ等を実行しています。
パイプライン内では、e2e/開発/本番環境別に対応するマニフェストファイルの生成やそのデプロイをする必要がありますが、自前で実装した複雑なシェルスクリプトを利用していたり、kubectl コマンドをパイプライン内で直接実行していたりと、非常に手続き的で課題の多い実装になっていました。
これらの問題を、Helm と ArgoCD を利用した GitOps 化することでどのように解決したか課題の内容とともに紹介します。