【けいぞくてきいんてぐれーしょん】
継続的インテグレーション(CI) とは?
最終更新:
💡 「こまめに統合、自動でテスト」
開発者が小さな変更を共有の主なブランチへ頻繁に統合し、自動ビルドとテストで統合の問題を早く見つける開発プラクティス。CIツールを動かすことに加え、こまめに統合する習慣が重要。
📌 このページのポイント
- 各開発者が少なくとも毎日など短い間隔で、変更を共有の主なブランチへ統合する
- 統合した変更を、自動ビルドやテストで検証して結果を共有する
- 検証が失敗したら、修正や変更の取り消しで早く正常な状態へ戻す
- CIを実行するサービスにはGitHub Actions、Jenkins、CircleCIなどがある
なぜ「こまめに」統合するの?
長く別々に変更をためると、合わせたときの原因調査や修正が複雑になりやすいからだよ。小さな変更を、少なくとも毎日など短い間隔で統合して確かめるんだ。衝突やバグがなくなるわけではないけど、早く気づいて対処しやすくなるよ。
CIパイプラインには何を入れる?
CIが失敗したらどうする?
失敗の原因を調べ、優先して正常な状態へ戻すよ。すぐ修正できなければ原因の変更を取り消して、別の場所で調べる方法もあるんだ。成功の表示は実行した検査を通ったという意味で、すべてのバグがない保証ではないよ。
CI/CD/CDの3つの違いは?
CIはこまめな統合と自動検証。Continuous Deliveryは必要なときに本番へ出せる状態を保ち、公開するかは判断できること。Continuous Deploymentは検証を通った変更を自動で本番へ出すことだよ。Deliveryで必ず人が承認ボタンを押す、と決まっているわけではないんだ。
ツールで作業ブランチをテストしていればCIなの?
まとめ:ざっくりこれだけ覚えればOK!
「CI」って出てきたら「小さくこまめにコードを統合し、自動検証で問題を早く見つける習慣」と思えばだいたいOK!
📖 おまけ:英語の意味
「Continuous Integration」 = 継続的統合
💬 Continuousは「継続的な」、Integrationは「統合」。チームの変更をこまめに合わせ、検証することだよ