CD vs CI
継続的デプロイメントを意味します。
| CD | CI | |
|---|---|---|
| Definition | Continuous Deployment(継続的デプロイメント)またはContinuous Delivery(継続的デリバリー)は、コード変更が一連の自動化テストを通じて自動的に本番環境にリリースされるソフトウェアエンジニアリングアプローチです。 | 継続的インテグレーション(CI)は、開発者が定期的にコード変更を中央リポジトリにマージし、その後に自動ビルドとテストが行われるソフトウェア開発の実践です。これはDevOps哲学の核となる実践です。 |
| Categories | DevOps, alm, automation, ci, deploy, release | ALM, CI, DevOps, automation, development, quality |
CDとは何ですか?
継続的デプロイメントを意味します。
🔄
定義
Continuous Deployment(継続的デプロイメント)またはContinuous Delivery(継続的デリバリー)は、コード変更が一連の自動化テストを通じて自動的に本番環境にリリースされるソフトウェアエンジニアリングアプローチです。
🛠️
プロセス
新しいコード変更はテストと検査のパイプラインを通過し、承認された場合、直接本番環境にデプロイされます。
🚀
利点
継続的デプロイメントはソフトウェアの提供を加速し、新機能の市場投入までの時間を短縮し、より速いフィードバックサイクルを可能にします。
🐞
CDとは何ですか? →修正
頻繁なデプロイメントにより、バグの発見と修正が容易になります。バグは比較的新しく、追跡しやすいためです。
CIとは何を意味しますか?
継続的インテグレーションを指します。
📜
定義
継続的インテグレーション(CI)は、開発者が定期的にコード変更を中央リポジトリにマージし、その後に自動ビルドとテストが行われるソフトウェア開発の実践です。これはDevOps哲学の核となる実践です。
🔨
自動化
CIには、頻繁な統合を促進する文化的要素と自動化要素の両方が含まれます。コード変更は自動ビルドプロセスをトリガーして実行可能なソフトウェアを作成します。
🚀
目標
CIの主な目標は、迅速にエラーを見つけて修正し、ソフトウェアの品質を向上させ、新しいソフトウェアアップデートを検証してリリースするまでの時間を短縮することです。
🔄
信頼性
頻繁な統合により、コードベースが常に機能的な状態にあるという信頼が生まれます。
🔬
CIとは何を意味しますか? →テストカバレッジ
CIは、ソフトウェアの異なる側面をカバーする包括的な自動テストセットを含むべきです。これにより、そのQAレベルを保証します。