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

開発者が1日に複数回、コードの変更を共有リポジトリにマージし、各マージがビルドとテストで自動検証されるソフトウェア開発の実践。

CIは1991年にグレイディ・ブーチによって形式化され、エクストリームプログラミング(XP)の一部としてケント・ベックによって普及しました。典型的なパイプライン:トリガー→ビルド→テスト→リント/スキャン→レポート。主要プラットフォーム:GitHub Actions、GitLab CI/CD、Jenkins。

        graph LR
  Center["継続的インテグレーション(CI)"]:::main
  Rel_parallelism["parallelism"]:::related -.-> Center
  click Rel_parallelism "/terms/parallelism"
  Rel_agile_methodology["agile-methodology"]:::related -.-> Center
  click Rel_agile_methodology "/terms/agile-methodology"
  Rel_raid["raid"]:::related -.-> Center
  click Rel_raid "/terms/raid"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 5歳でもわかるように説明

CIは、算数の問題を解くたびに宿題を確認してくれる賢い先生のようなものです。月末に最初のページの間違いを発見する代わりに、数秒で気づいてすぐに直せます。

🤓 Expert Deep Dive

効果的なCIはテストピラミッドに基づいています(ユニットテストが多く、E2Eテストが少ない)。トランクベース開発(TBD)との組み合わせが最も効果的です。CIはCD(継続的デリバリー/デプロイメント)の前提条件です。

❓ よくある質問

What is the difference between CI and CD?

CI (Continuous Integration) automatically builds and tests code on every commit, ensuring the codebase is always in a working state. CD (Continuous Delivery or Deployment) goes further, automatically delivering or deploying that verified code to staging or production environments.

What is 'integration hell'?

Integration hell occurs when developers work on separate branches for a long time and then try to merge everything at once. The resulting merge conflicts and hidden incompatibilities can take days or weeks to resolve. CI prevents this by integrating small changes frequently.

Do I need CI for a solo project?

It's highly recommended even for solo projects. CI automatically runs your tests on every commit, catching regressions you might miss, and platforms like GitHub Actions offer generous free tiers.

📚 出典