- 会員限定
- 2024/01/18 更新
CI/CDとは何かをわかりやすく図解、具体的なツールや取り組み方とともに紹介する
▼この記事を4分の動画・音声でご覧いただけます▼
CI/CDとは何か
CI/CDとは「Continuous Integration(継続的インテグレーション)/ Continuous Delivery(継続的デリバリー)」の略称。CI/CDは、何か特定の技術を指すものではなく、ソフトウェアの変更を常にテストし、自動で本番環境に適用できるような状態にしておく開発手法のことをいう。CIとCDそれぞれについて見ていこう。・CI
CIとは継続的インテグレーションという名の通り、開発者にとっては自動化のプロセスを指す。
アプリケーション開発で言えば、バラバラに稼働している複数エンジニアのソースコードを継続的に統合(インテグレーション)し、正常に動作することを確認するために検証する取り組みのことである。
新たなソースコードの変更を、定期的に、あるいは毎日でもビルドおよびテストし、共通のリポジトリに統合する。
CIは、アプリケーションに問題がないかを調べるために、クラスや各種のモジュールなど構成するすべての要素に対して実施するテストを自動化できる。そのため、プログラムの不具合をより早く見つけ、すぐに修復できるのである。
なお、CIを用いない場合は、通常、手作業で実施しなくてはならないとされる。
・CD
CDとは継続的デリバリーという名の通り、ユーザーに継続的にアプリケーションを提供することを指す。提供とはすなわち、本番環境にアプリケーションを載せ、顧客がいつでも新たなアプリケーションを利用できるようにすることである。
CDでは、検証済みコードのリポジトリへのリリースを自動化する。コード変更のマージから本番環境に対応するためのビルドのデリバリーまで、すべての段階でテストとコードリリースを自動化する。これにより、運用チームは本番環境にアプリケーションをすぐにデプロイできる。
なぜCI/CDが必要なのか?背景にあるアジャイル型開発へのシフト
では、なぜCI/CDが必要なのか。ビジネス環境は常に変化しており、それに合わせてアプリケーションには変更、差し替え、新規作成、あるいは削除など変化が求められることが背景にある。従来、多くの企業が、ウォーターフォールモデルでアプリケーションを開発してきた。これは要件定義、基本設計、詳細設計、テストといった開発工程を、滝のように上から下へと一方向に流すものである。
検収やスケジュール、計画、工数見積もりなどがしやすいなどの利点があり、金融業界など品質を重視する現場で採用されてきた。
だが、ウォーターフォールモデルには、要件を固めて工程を進めるため、途中での変更が難しいという欠点がある。ビジネス面やシステム面などの事情で仕様変更が発生した場合、大きな手戻りが発生してしまう。
一方で、DXとはいわば、“ビジネスを革新する何か”を模索する取り組みと言っていい。そのため、開発するアプリケーションの仕様が明確になっていないケースがあったり、開発を進めながら明らかにしていくことがあったりするため、要件を事前に漏れなく定義することが難しい。
そこで、アジャイル開発、DevOps、そしてCI/CDという新たな開発手法が採用されるようになったのである。
競合他社の動きなどに合わせて、すばやくアプリケーションを開発し、統合、デリバリーすることにより、市場が求めるニーズを満たすアプリケーションを維持し、競争力を保つことになる。
CI/CDへの取り組みの全体像
CI/CDの実践のために必要なステップを自動化したものを「CI/CD パイプライン」と呼ぶ(以下図)。【次ページ】CI/CD関連ツール13選
関連コンテンツ
関連コンテンツ
今すぐビジネス+IT会員にご登録ください。
すべて無料!今日から使える、仕事に役立つ情報満載!
-
ここでしか見られない
2万本超のオリジナル記事・動画・資料が見放題!
-
完全無料
登録料・月額料なし、完全無料で使い放題!
-
トレンドを聞いて学ぶ
年間1000本超の厳選セミナーに参加し放題!
-
興味関心のみ厳選
トピック(タグ)をフォローして自動収集!
投稿したコメントを
削除しますか?
あなたの投稿コメント編集
通報
報告が完了しました
必要な会員情報が不足しています。
必要な会員情報をすべてご登録いただくまでは、以下のサービスがご利用いただけません。
-
記事閲覧数の制限なし
-
[お気に入り]ボタンでの記事取り置き
-
タグフォロー
-
おすすめコンテンツの表示
詳細情報を入力して
会員限定機能を使いこなしましょう!
「」さんのブロックを解除しますか?
ブロックを解除するとお互いにフォローすることができるようになります。
ブロック
さんはあなたをフォローしたりあなたのコメントにいいねできなくなります。また、さんからの通知は表示されなくなります。
さんをブロックしますか?
ブロック
ブロックが完了しました
ブロック解除
ブロック解除が完了しました