お問い合わせ

リリース作業はどう自動化してる?-CI/CDの仕組み-【Luxucomを支える技術 #11】

こんにちは、かびらです。

今回はCI/CDについて解説します。

CI/CDとは?

CI/CDとは、アプリの開発からリリースまでを自動化する仕組みです。

コードが変更されると、自動でテストやビルドが行われ、問題がなければ本番環境に反映されます。

この仕組みによって、開発効率を高めつつ、安定した品質を維持できるようになります。

CIとは?

CI/CDは、CIとCDの組み合わせです。

ここでは、CI/CDのうち、CIについて詳しく解説します。

CIとは、Continuous Integration、日本語で継続的インテグレーションと呼ばれる仕組みです。

コードの変更があると、自動でテストやビルドまで行われます。

これによって、バグを早い段階で発見でき、品質を保ちながら開発を進めることができます。

CDとは?

一方、CDとは、Continuous Delivery、日本語で継続的デリバリーと呼ばれる仕組みです。

テストを通過したコードを、自動で本番環境にデプロイします。

これによりリリース作業を効率化でき、変更を素早くユーザーに届けられるようになります。

CI/CDの流れ

一般的なCI/CDの流れはこのようになります。

開発者がコードを変更してリポジトリにプッシュすると、自動でCI/CDの処理が始まります。

まずCIでテストやビルドが行われ、問題がなければCDによって本番環境にデプロイされます。

この流れによって、開発からリリースまでがスムーズに進むようになります。

CI/CDを採用した理由

次にLuxucomで、CI/CDを採用した理由についてです。

LuxucomでCI/CDを採用した理由は大きく2つです。

一つ目は、リリース作業を効率化したかったからです。

二つ目は、開発スピードを上げたかったからです。

Luxucomではアジャイル開発を取り入れていてリリースの頻度が高いため、これらの課題を解決するにはCI/CDが欠かせませんでした。

CI/CDと関連するアーキテクチャ

次に、Luxucomで、CI/CDと関連するアーキテクチャを見ていきます。

Luxucomでは、このようにCI/CDを構成しています。

開発者がリポジトリにコードをプッシュすると、GitHub Actionsが自動的にテストやビルドを行います。

その後、AWSの環境に変更を反映し、ECSでアプリが更新されます。

ここで出てきたGitHub ActionsやTerraform、ECRについては、次回以降で詳しく解説していきます。

CI/CDを使って良かった点

次に、Luxucomで、CI/CDを使って良かった点です。

CI/CDを導入して良かった点は二つあります。

一つ目は、リリース作業が速く、簡単になったことです。

二つ目は、頻繁にリリースを行うアジャイル開発と相性が良く、開発をスムーズに進められるようになったことです。

CI/CDを使って難しかった点

最後にCI/CDを使って難しかった点です。

CI/CDを使って難しかった点は、処理の切り分け方です。

CIとCDのそれぞれのタイミングで、どこまで処理を任せるかを決めるのに悩みました。

さいごに

今回は、LuxucomにおけるCI/CDの仕組みを紹介しました。

開発からリリースまでを自動化し、効率的で安定した開発を実現していることが伝わったと思います。

次回は、このCI/CDを支える仕組みのひとつ、GitHub Actionsについて解説します。