エントリー済み

信頼性を犠牲にせず、PR マージからデプロイまで人の介入を完全にゼロにするまでの道のり

初級者 CI / CD

カウシェでは、この1年でマージされるPRの数が10倍以上になりました。以前はリリースごとに、リリース内容や依存関係の確認、可否の判断、動作確認、リリース後の監視を人が行っていました。短い期間に積まれる変更が増えるほど、1回のリリースにのる変更も依存も増え、何が入っていて何と一緒に出してよいのかを、人が把握しきれなくなっていきました。

この発表では、PRのマージからデプロイまでを完全に自動化するためにやったことを話します。ただ自動化するだけでは、プロダクト開発メンバーは安心してリリースを任せられません。どうすれば安心して任せられるのか。そのために行ってきたことを順に紹介します。

まずデプロイとリリースを分けました。デプロイは振る舞いを変えないコードを本番に出すこと、リリースは機能を公開することと定義し直しました。この分離を起点に、トランクベース開発への移行、サービス横断で使えるfeature flagシステムの構築、SLI/SLOの制定と運用、ロールアウト条件の定義、カナリアリリースの自動化、と積み重ねてきました。それぞれが何を解決し、どこまで人の判断を置き換えたのかを解説します。

Speaker

Kenta Takahashi

株式会社カウシェ

みんなの仕事なくすエンジニア

株式会社カウシェで開発を行っているエンジニア。カウシェには、2022年7月から複業として参画、2023年1月より正社員。カウシェでは、バックエンドエンジニアとして従事。2026年 3月 Platform Team を立ち上げ、日々開発者の仕事をどうやったらなくせるかを考えている。 Digital Identity 周りの技術が好き