Loading article…
ソフトウェアエンジニアリングにおいて、CI/CDまたはCICDは、継続的インテグレーション(CI)と継続的デリバリー(CD)を組み合わせた手法、またはあまり一般的ではないが継続的デプロイメントと呼ばれる手法です。[1]これらは、総称して継続的開発または継続的ソフトウェア開発と呼ばれることもあります。[2]
コンポーネント
- 継続的インテグレーション
- いくつかの小さな変更をメイン ブランチに頻繁にマージします。
- 継続的デリバリー
- 展開を決定する際にシンプルで繰り返し可能な展開プロセスを使用して、信頼性の高いソフトウェアをいつでもリリースできるように、高速かつ高頻度で短いサイクルでソフトウェアを作成します。
- 継続的なデプロイメント
- 新しいソフトウェア機能の自動展開。
モチベーション
CI/CD は、アプリケーションの構築、テスト、展開の自動化を実施することで、開発と運用の活動およびチーム間のギャップを埋めます。CI/CD サービスは、開発者が行った増分コード変更をコンパイルし、それらをリンクしてソフトウェア成果物にパッケージ化します。 [3]自動テストはソフトウェアの機能を検証し、自動展開サービスはそれをエンドユーザーに配信します。[4]その目的は、早期の欠陥発見を増やし、生産性を高め、リリース サイクルを高速化することです。このプロセスは、新しいバージョンを展開する前に、一連のソフトウェア更新を 1 つの大きなバッチに統合する従来の方法とは対照的です。
現代のDevOpsプラクティスには以下が含まれます。
ソフトウェア アプリケーションの開発ライフサイクル全体にわたって、CI/CD プラクティス、つまりCI/CDパイプラインが、現代の DevOps 運用のバックボーンを形成します。
クラウドシステムのベストプラクティス
以下のプラクティスは、特にクラウドでホストされているシステムにおいて、CI/CDパイプラインの生産性を向上させることができます。[5] [6] [7]
- パイプラインの数: 小規模なチームでは、リポジトリとパイプラインを 1 つずつ持つことで生産性を高めることができます。対照的に、大規模な組織では、チームごとに個別のリポジトリとパイプライン、またはチーム内のサービスごとに個別のリポジトリとパイプラインを持つ場合があります。
- 権限: パイプライン関連の権限に関しては、アーキテクチャの動的な性質により、最小権限の原則を順守することが困難な場合があります。管理者は、爆発半径を最小限に抑えるために補償セキュリティ制御を実装しながら、より許容度の高い権限を選択できます。
参照
- 継続的インテグレーション(CI)
- 継続的デリバリー(CD)
- 継続的デプロイメント(CD)
参考文献
- ^ Sacolick, Isaac (2020-01-17). 「CI/CD とは何か? 継続的インテグレーションと継続的デリバリーの説明」InfoWorld . 2021-06-01閲覧。
- ^ 「継続的開発とは何か、そしてそれはどのように機能するのか? | Synopsys」。
- ^ Rossel, Sander (2017 年 10 月)。継続的インテグレーション、デリバリー、デプロイメント。Packt Publishing。ISBN 978-1-78728-661-0。
- ^ Gallaba, Keheliya (2019). 「継続的インテグレーションとデプロイメントの堅牢性と効率性の向上」2019 IEEE 国際ソフトウェア保守・進化会議 (ICSME) . pp. 619–623. doi :10.1109/ICSME.2019.00099. ISBN 978-1-7281-3094-1. S2CID 208879679。
- ^ AWS上のサーバーレスアーキテクチャ。Manning。ISBN 978-1617295423。
- ^ コードとしてのパイプライン Jenkins、Kubernetes、Terraform による継続的デリバリー。Manning。ISBN 9781638350378。
- ^ 継続的デリバリー ビルド、テスト、デプロイメントの自動化による信頼性の高いソフトウェアリリース。ISBN 9780321670229。
外部リンク
- El Khalyly, B.; Belangour, A.; Banane, M.; Erraissi, A. (2020). 「モノのインターネット エコシステムに適用される CI/CD の新しいメタモデル アプローチ」。2020 IEEE 第 2 回国際エレクトロニクス、制御、最適化、およびコンピューター サイエンス会議 (ICECOCS)。pp. 1–6。doi : 10.1109 / ICECOCS50124.2020.9314485。ISBN 978-1-7281-6921-7. S2CID 231645681。
- Sane, P. (2021). 「継続的インテグレーションと自動アクセシビリティテストにおける現在のソフトウェアエンジニアリングプラクティスの簡単な調査」。2021第6 回ワイヤレス通信、信号処理、ネットワークに関する国際会議 (WiSPNET)。pp . 130–134。arXiv : 2103.00097。doi : 10.1109 /WiSPNET51692.2021.9419464。ISBN 978-1-6654-4086-8. S2CID 232076320。
