継続的インテグレーション(CI)
継続的インテグレーション(けいぞくてきインテグレーション、Continuous Integration; CI)
CIは、開発者がソースコードを共有リポジトリに統合するプロセスを指します。この統合は頻繁に行われ、開発者が変更を行うたびに実施させることが一般的です。開発者が行った変更をシステム全体に統合し、ビルドやテストを自動的に実行することで、コンフリクトや欠陥を早期に発見することがCIの目的です。
ref: 『ソフトウェアテスト教科書 JSTQB Foundation 第5版 シラバス2023対応』
さまざまな資料見たがJSTQBのこの文章が一番納得しやすい一行説明
ソフトウェアデリバリーの1要素
継続的インテグレーションを実現していく過程で開発体験を上げる、開発効率を上げることができる概念が多く含まれている
継続的に統合(インテグレーション)をしていく
ソースコードのマージという行動を基点に、ビルドやテストを自動的に実行する
GitHubの場合、pushを起点にGitHub Actions, Trivis CIが起動する
Build -> Test -> Merge
ビルドパイプラインを作る
ビルドの自動化
最初の段階でソース管理の仕組みを導入していますか?というのがある
GitやSubversionなどのバージョン管理ツールによる管理
ビルドの自動化の前にそもそも1ステップでビルドを行えますか?に「はい」と答えれる必要がある
デイリービルドを実現できているかの質問であるビルドは毎日実行していますか?
CIの実現をするには、
SaaS系だとGitHub Actions、Travis CIなど
オンプレだとビルドサーバーを立てる→JenkinsなどのCI/CDツールを使用する
関連するジョエル・テスト
ソース管理の仕組みを導入していますか?
1ステップでビルドを行えますか?
ビルドは毎日実行していますか?
ビルドは、ゲートチェックイン方式に従って実行していますか?
確認用
Q. 継続的インテグレーション(CI)
参考
継続的インテグレーション - Wikipedia
Continuous integration - Wikipedia
『ソフトウェアテスト教科書 JSTQB Foundation 第5版 シラバス2023対応』
関連
継続的デリバリー(CD)
継続的デプロイメント(CD)
メモ
CI とは? - 継続的インテグレーションの説明 - AWS
CI/CD とは-継続的インテグレーション/継続的デリバリー|Red Hat
CI(継続的インテグレーション)とは? » わかりやすく解説 » CloudBees|テクマトリックス
調査用
/pogi-log/Google.icon 継続的インテグレーション
Google.icon 継続的インテグレーション
/pogi-log/Wikipedia.icon
継続的インテグレーション - Wikipedia(日)
継続的インテグレーション(検索) - Wikipedia(日)
/pogi-log/Wikipedia.icon
Continuous integration - Wikipedia(英)
Continuous integration(検索) - Wikipedia(英)
#CI/CD