CI/CD(継続的インテグレーション・継続的デリバリー)とは

しーあいしーでぃー

開発者の変更を頻繁に共有のブランチに統合し、そのたびにビルドと自動テストを行う継続的インテグレーション(CI)と、テストした変更をいつでも本番環境に公開できる状態に保つ継続的デリバリー(CD)を合わせた呼び方。公開まで自動で行う場合は継続的デプロイと呼ぶ。

「CI/CD(継続的インテグレーション・継続的デリバリー)」は、2分野の3問の練習問題に出てきます(ソフトウェア開発とプロジェクト管理, クラウドとコンテナの基礎など)。

この用語の分野: ソフトウェア開発とプロジェクト管理

CI/CD(継続的インテグレーション・継続的デリバリー)の練習問題に挑戦

継続的インテグレーション(CI)の説明として、適切なものはどれか。

  1. A開発の最後に、各自が長い期間をかけて作った変更をまとめて統合し、一度に結合テストを行う
  2. B開発者が変更を頻繁に(1日に何度も)共有のブランチに統合し、そのたびにビルドと自動テストを実行して問題を早く見つける
  3. Cテストに合格した変更を、人の判断を挟まずに自動で本番環境へ公開する
答えと解説を見る

正解:B. 開発者が変更を頻繁に(1日に何度も)共有のブランチに統合し、そのたびにビルドと自動テストを実行して問題を早く見つける

継続的インテグレーションでは、変更を小さく頻繁に統合し、統合のたびにサーバ上でビルドと単体テストなどを自動で実行します。統合の間隔が短いので、変更どうしの食い違いや不具合を、原因が分かりやすいうちに見つけて直せます。これまでのテストをまとめて実行し直す回帰テストを、変更のたびに自動で行えることも利点です。テストに合格した変更を自動で本番環境に公開するのは継続的デプロイで、CIの先にある段階です。

継続的デリバリーと継続的デプロイの違いの説明として、適切なものはどれか。

  1. A継続的デリバリーはソースコードの変更を共有のブランチに統合することだけを指し、ビルドやテストは含まない
  2. B継続的デプロイでは、本番環境に公開する前に必ず人が承認する
  3. C継続的デリバリーではいつでも本番環境に公開できる状態を保ち、公開は人が判断して行う。継続的デプロイでは、テストに合格した変更を自動で本番環境に公開する
答えと解説を見る

正解:C. 継続的デリバリーではいつでも本番環境に公開できる状態を保ち、公開は人が判断して行う。継続的デプロイでは、テストに合格した変更を自動で本番環境に公開する

どちらも、CIで統合してテストした変更を、ステージング環境での確認などを含む自動化されたパイプラインに流します。継続的デリバリーでは公開できる状態までを自動で用意し、本番環境に出すかどうかは人が決めます。継続的デプロイでは、その最後の公開も自動で行います。開発と運用が協力し、こうした自動化と運用からのフィードバックで、速く安全にリリースを繰り返す考え方や文化をDevOpsと呼びます。

解説の中の「CI/CD(継続的インテグレーション・継続的デリバリー)」

「CI/CD(継続的インテグレーション・継続的デリバリー)」が出てくる問題(3問)

  1. 継続的インテグレーション(CI)の説明として、適切なものはどれか。
  2. 継続的デリバリーと継続的デプロイの違いの説明として、適切なものはどれか。
  3. CI/CDのパイプラインで作ったコンテナイメージを、ステージング環境で試験し、合格した。このイメージを本番環境に出す方法として、最も適切なものはどれか。

ソフトウェア開発とプロジェクト管理の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

関連する用語

回帰テスト コンテナイメージ 環境変数 アーンドバリューマネジメント(EVM) アジャイル開発 ウォーターフォールモデル SLA(サービスレベル合意) 境界値分析 クリティカルパス法(CPM) スクラム

用語集の一覧へ