こんにちは!
今回はCI/CDについて、簡潔にお伝えしていきたいと思います。
様々なサイトを参考にまとめさせていただきました。
「CI」「CD」の意味って?
CIとは継続的インテグレーション
継続的インテグレーション(Continuous Integration)。
ソフトウェア開発において、ビルドやテストを自動化し、短期間で品質管理を行う手法のこと。
インテグレーションとは、
ITの分野では、コンピュータやソフトウェア、ネットワークなどを組み合わせて一体化し、目的を達成するための情報システムを構築すること
出典:IT用語辞典
CDとは継続的デリバリー(継続的デプロイ)
継続的デリバリー(Continuous Delivery)または継続的デプロイ(Continuous Deployment(継続的デプロイ)。同じ意味で使用されることもあるようです。
継続的デリバリーは開発者によるアプリケーションへの変更に対して、バグがないか自動的にテストし、リポジトリにアップロードする。
継続的デプロイメントは、開発者による変更をリポジトリから本番環境に自動的にリリースし、顧客が使用できるようにするというもの。
CI/CDとはビルド、テスト、デプロイを自動化するシステム
CIでビルドやテストを自動化し、
CDでテストされたコードのマージや、本番環境向けのビルドの作成を自動的に行う。
CIとCDの作業を合わせて、CI/CDと呼ばれている。
また、CI/CDは手動でやると手間であるため、ツールを使うことがほとんど。
CI/CDを導入するメリット
- 開発工数の削減
- 「テスト」の自動化・・・エラーの自動チェック、既存機能による影響チェックなど
- 「ビルド」の自動化・・・ソフトウェアを実行可能な状態にパッケージングする工数を削減
- 「デプロイ」の自動化・・・パッケージをサーバーに配備して利用可能な状態に整える工数を削減
##参考にさせていただいたサイト
参考:パーソルテクノロジースタッフ(HP)
https://codezine.jp/article/detail/11083
https://pfs.nifcloud.com/navi/words/ci_cd.htm
https://www.redhat.com/ja/topics/devops/what-is-ci-cd