継続的インテグレーションを探求する

完了

継続的インテグレーション (CI) は、DevOps の最も基本的な要素の 1 つです。 これは、共同作業を促進し、コード品質の問題の早期検出に寄与し、合理化された開発プロセスにメリットをもたらします。 また、継続的デリバリーとデプロイの基盤としても機能します。 CI プラクティスを採用することで、ここでのサンプル シナリオで説明されている組織は、アプリケーションの構築とテストに伴う手作業を排除し、ユーザーへのデリバリーを効果的に早めることができるようになります。 CI の利点を完全に理解できるように、このユニットではそれらについて説明します。

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

継続的インテグレーションは、ソフトウェア リポジトリに対する個々の更新に続けて、更新されたバージョンのソフトウェアを自動的にビルドしてテストするプロセスです。 一般的な統合のパターンには、pull request を介して個々のブランチでの変更を送信す開発者が関与します。 変更は集団でのレビューの対象となり、結果が合格であれば、メイン ブランチにマージされます。 提案された変更や結果的に生じる変更が悪影響を及ぼさないことを確認するために、個々のコミットまたはマージのイベントをコードのビルドとテストをトリガーするために使用できます。 継続的インテグレーションを導入すると、ビルドとテストが完全に自動化されます。

継続的インテグレーション フローの図。

この自動化は、開発者によって作成され、リポジトリ ホスティング プラットフォームに実装されたビルドとテストの定義に基づきます。 たとえば、GitHub はこの目的のために GitHub Actions ワークフローを提供していますが、Azure DevOps は Azure Pipelines を利用しています。



継続的インテグレーションの利点は何ですか?

継続的インテグレーションに伴う主な利点は、一般的なシフトレフト戦略に基づくもので、これは (このモジュールで後述するように)、他の多くの DevOps プラクティスにも影響します。 基本的な前提は、コードの変更によって発生した問題の検出にかかる時間が長いほど、それを修正するための費用と作業量は多くなるということです。 継続的インテグレーションでは、コードのビルドとテストはできるだけ早く行われます。 また、これらは自動化の方法で実装されるため、速度と信頼性が向上します。 継続的インテグレーションは、一貫性を向上させ、ビルドとテストが再現可能な方法で実行されることを保証します。 この一貫性は、プログラミング標準を適用するのに役立ち、結果的にコードはよりクリーンで保守しやすいものになります。 最後になりますが他に劣らず重要なのが、継続的インテグレーションは通常、継続的デリバリーの一部であり、アプリケーション ライフサイクル管理全体を合理化するということです。 ビルド、テスト、デプロイの各アクティビティの保守に関連するオーバーヘッドを最小限に抑えることで、開発チームと運用チームの全体的な生産性が向上し、ソフトウェア製品の市場投入までの時間が短縮されます。