CI/CD(継続的インテグレーション/継続的デリバリ)
Continuous Integration / Continuous Delivery
しーあいしーでぃー
他の資格での定義
開発者がコードの変更を頻繁にリポジトリに統合し、自動ビルドと自動テストを実行する手法。CIとも呼ばれ、統合時の問題を早期に発見・修正することで、ソフトウェアの品質を維持する。
開発者が頻繁にコードをリポジトリに統合し、自動的にビルドとテストを実行する開発プラクティス。CIと略され、不具合の早期発見と修正コストの削減を実現する。DevOpsやアジャイル開発の基盤となる手法。
開発者がコードの変更を頻繁に共有リポジトリに統合し、その都度自動ビルドとテストを実行する開発プラクティス。統合時の問題を早期に発見でき、品質を継続的に維持できる。CI/CDパイプラインの基盤となる。
CI(継続的インテグレーション)はコード変更を頻繁に統合し、自動ビルド・テストを行う手法。CD(継続的デリバリー)はCIに加えて、リリースプロセスも自動化し、いつでもデプロイ可能な状態を維持する手法。DevOpsの基盤技術。
CI(継続的インテグレーション)はコード変更を頻繁にリポジトリに統合し自動テストを実行する手法、CD(継続的デリバリー)はビルド・テスト・デプロイを自動化し迅速にリリースする手法。セキュリティテストをパイプラインに組み込むことで、脆弱性の早期発見と修正を可能にする。
関連キーワードの用語
ソースコードの変更を頻繁にビルド・テスト(CI)し、デプロイ可能な状態を継続的に維持する(CD)開発プラクティス。自動ビルド、自動テスト、静的解析をパイプラインに組み込む。組込み開発でもクロスコンパイルとHIL/SILテストの自動化が進んでいる。
アプリケーション開発の基盤となる再利用可能なソフトウェア構造。共通的な処理の骨格を提供し、開発者が固有の処理を埋め込む(ハリウッドの原則)。生産性向上と品質の均一化に寄与する。
開発用のホストコンピュータ上でターゲットシステム(組込み機器)向けのソフトウェアを開発する手法。クロスコンパイラ、ICE(In-Circuit Emulator)、JTAGデバッガなどの開発ツールを用いる。
開発(Development)と運用(Operations)のチームが連携・協力し、ソフトウェアのリリースサイクルを高速化する文化・手法。CI/CD、インフラのコード化(IaC)、モニタリングなどの技術的プラクティスと組織文化の変革を含む。
ファイルの変更履歴を記録し、過去の任意の時点の状態に復元できるようにする仕組み。Git、Subversionなどのツールで実現する。ブランチ戦略やマージ手法の選択がチーム開発の効率に影響する。
テストコードを先に書き、そのテストを通過する最小限のコードを実装し、リファクタリングするサイクル(Red-Green-Refactor)を繰り返す開発手法。設計の改善と品質の作り込みを同時に実現する。XPのプラクティスの一つ。