こんにちは、かびらです。
今回は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について解説します。