Hero background image

CI/CD とは

CI/CD、つまり継続的な統合/継続的なデリバリまたはデプロイは、自動化によって実現されるソフトウェア開発プラクティスです。頻繁で信頼性の高いアップデートは、継続的なコード配信によってリリースサイクルを加速します。
ソースコード管理について

CI/CDの説明

CI/CD は、DevOps のいくつかのフェーズを網羅した総称です。CI(継続的インテグレーション)は、コード変更を 1 日に数回リポジトリに統合する手法です。CD には 2 つの意味があります。継続的な配信ではコードの統合を自動化し、継続的デプロイではエンドユーザーに最終的なビルドを自動的にリリースします。CI/CD の頻繁に実行されるテストにより、コードのエラーや不具合が減少します。これは、すべての DevOps ワークフローにとって不可欠なことです。

継続的インテグレーションとは(CI)

CI は DevOps のベストプラクティスであり、DevOps ライフサイクルの 1 段階です。ここでは、開発者が 1 日数回共有コードリポジトリにコードをチェックインします。理想としては、これが発生するたびに自動ビルドツールでチェックインまたはブランチを検証し、エラーなく製品化する準備ができていることを確認します。ここでの主なメリットは、通常は問題が雪だるま式により大きくなる前に、早期に検出されることです。

CI の実践は、変更の小さなサブセットをより短期間で統合することを意味します。回数を少なくして時間のかかる大きな更新を行うのではありません。変更をテスト、マージして、共有リポジトリにチェックインするためのワークフローを自動化することで、チームはよりクリーンなコードを迅速に提供できます。よりクリーンなコードは、迅速な検証、クリーンなリリース、および簡単にスケールできる効率的な開発パイプラインを実現します。

継続的インテグレーションの仕組み

CI は DevOps のベストプラクティスであり、DevOps ライフサイクルの 1 段階です。ここでは、開発者が 1 日数回共有コードリポジトリにコードをチェックインします。理想としては、これが発生するたびに自動ビルドツールでチェックインまたはブランチを検証し、エラーなく製品化する準備ができていることを確認します。ここでの主なメリットは、通常は問題が雪だるま式により大きくなる前に、早期に検出されることです。

CI の実践は、変更の小さなサブセットをより短期間で統合することを意味します。回数を少なくして時間のかかる大きな更新を行うのではありません。変更をテスト、マージして、共有リポジトリにチェックインするためのワークフローを自動化することで、チームはよりクリーンなコードを迅速に提供できます。よりクリーンなコードは、迅速な検証、クリーンなリリース、および簡単にスケールできる効率的な開発パイプラインを実現します。

CIのルールと原則

CI は DevOps のベストプラクティスであり、DevOps ライフサイクルの 1 段階です。ここでは、開発者が 1 日数回共有コードリポジトリにコードをチェックインします。理想としては、これが発生するたびに自動ビルドツールでチェックインまたはブランチを検証し、エラーなく製品化する準備ができていることを確認します。ここでの主なメリットは、通常は問題が雪だるま式により大きくなる前に、早期に検出されることです。

CI の実践は、変更の小さなサブセットをより短期間で統合することを意味します。回数を少なくして時間のかかる大きな更新を行うのではありません。変更をテスト、マージして、共有リポジトリにチェックインするためのワークフローを自動化することで、チームはよりクリーンなコードを迅速に提供できます。よりクリーンなコードは、迅速な検証、クリーンなリリース、および簡単にスケールできる効率的な開発パイプラインを実現します。

継続的インテグレーション対継続的デリバリ
継続的な提供と継続的な導入

継続的な配信は CI に続くプロセスであり、最終製品が顧客にリリースまたはデプロイされる前の開発パイプラインのチェックポイントフェーズと考えることができます。検証されたコード変更は、自動的にリポジトリに配信されます。

継続的な配信の目標は、変更セットを小さくして、メインビルドを更新しなくても、最終製品の「製品版」としてのステータスが(リリース可能な状態でない場合でも)損なわれないようにすることです。最終製品には軽微なエラーが含まれている可能性がありますが、ユーザー体験を損なうほどのエラーではありません。

継続的な配信の実践により、開発者は社内でのテストに費やす時間を減らすことができます。この手法では、安定したコードだけが最初に配信フェーズに到達できるためです。これにより、バグ検出のプロセスがよりシンプルになり、解決までの時間が短縮されます。

CI/CDとDevOpsはどのように関係していますか?

DevOps は、より効率的なソフトウェア開発を目的とした文化およびプロセスです。

CI/CD パイプラインは、DevOps ライフサイクルを実現するツールと自動化に関連付けられた特定のフェーズのセットです。CI/CD は DevOps の文化に欠くことのできない部分ですが、DevOps は、コラボレーション、チーム構造、観測、バージョン管理など、ソフトウェア開発ライフサイクル全体に及ぶはるかに多くのことを網羅しています。

DevOps の実装は組織によって大きく異なりますが、根本的に CI/CD なしで DevOps を達成することはできません。CI/CD パイプラインは、本質的に DevOps の文化とその小規模かつ頻繁なリリースのプロセスに関連付けられています。

CI/CDのメリット

迅速なイテレーション

DevOps ライフサイクルの一部として CI/CD の手法を採用すると、コードベースへの変更を検証してデプロイする手動での作業が自動化され、開発がスピードアップします。

クリーナーコード

1 日を通して多数の小さな変更をチェックインすると、ビルドを壊すエラーがソースコードに取り込まれるリスクが大幅に減少します。

バグ修正の高速化

小さな変更セットをより頻繁に CI/CD とマージすると、簡単にコードエラーを特定し、大きな問題になる前に修正できます。

フィードバックループの短縮

CI/CD はフィードバックループの短縮に役立ちます。これは DevOps のコア原則の 1 つです。小さなかつ反復的な変更は、統合、テスト、デプロイが容易であるためです。

コラボレーションの向上

CI/CD は、コードのコミットとビルドの起動のプロセスおよびタイムラインを定義することで作業を明確にします。より明確な目標を設定することで、チームのアジリティが高まります。

より幸せなお客様

ビルドは常に CI/CD でリリース可能な状態であるため、顧客にとってはサービスの中断が少なくなり、フィードバックをより短時間で統合できます。

DevOpsの追加リソース

DevOpsとアジャイルファイルを持つ2人
アジャイルと DevOps の比較

アジャイルと DevOps の目標は同じであり、定期的なリリーススケジュールを通じて顧客価値を提供することです。しかし、そのアプローチは少し異なります。これらがどのように連携するかをご覧ください。

ダンベルを持つ手
DevOps を採用するメリット

DevOps プラクティスを実装すると、開発パイプラインが合理化され、チームとユーザーの満足度を高めることができます。DevOps がどのように役立つかをご確認ください。

複数の作業コピー
ソースコード管理について理解を深める

ソースコード管理(SCM)は、チームが作業をスピードアップし、共同作業を効率化するのに役立ちます。使用するタイミングやしくみなど、バージョン管理ツールについて知っておくべきすべてのことについて説明します。

ci/cd solution
UnityのCI/CDソリューション

Unity の CI/CD ソリューションを使用して、プロジェクトのイテレーションをスピードアップし、強力なソースコードの管理と自動化を活用します。分散作業には Unity Cloud Build を利用し、オンプレミスのビルド容量のスケールには Unity Build Server を利用します。

CI/CDよくあるご質問

アジャイルはCI/CDと同じ?

+

継続的導入で本番環境に導入する頻度はどのくらいですか?

+

継続的な導入に価値があるか

+

継続的な提供はコードとしての構成を促すか?

+