CD(継続的デリバリー)とは?


CDとは、Continuous Deliveryの略。
継続的デリバリーと呼ばれています。

CD(継続的デリバリー)

CDとは、Continuous Deliveryの略で、継続的デリバリーと呼ばれています。
継続的インテグレーション(CI)を延長して、より高レベルの結合とテストなどを自動的に行い、新しい変更がリリース(本番環境へデプロイ)可能であることを保証するプロセスです。実際に行われることは開発プロジェクトによってまちまちですが、ソフトウェアのパッケージングや成果物リポジトリへの登録、テスト環境へのデプロイ、機能要件/非機能要件の充足を確認する包括的なテスト、監査やコンプライアンス準拠のための記録・エビデンス作成などが挙げられます。このプロセスを経た成果物はいつでも本番環境にデプロイすることができます。

継続的デリバリー(CD)では、すべてのコード変更は、ビルドとテストを実行した後、テスト環境またはステージング環境にデプロイして、システムテストやUIテストを行います。開発者は、準備ができた時点で、最後のステップとして運用環境への更新を承認します。この点は、運用環境へのデプロイが明示的な承認なしで自動的に行われる「継続的デプロイメント」とは異なります。

今日の変化の早い社会においては、システムやサービスも素早く変化が必要になっています。そういった背景もあり、現在、継続的インテグレーション(CI)/継続的デリバリー(CD)の活用が広まっているのです。

継続的デリバリー(CD)が行えるようになった背景には、クラウドやコンテナといった技術の普及や、インフラ環境をコードで管理できるようになった点があります。そのため、コミットからリリースまで全ての作業が自動で行うことができます。

継続的デプロイメントとは

継続的デリバリー(CD)プロセスをさらに延長して、リリース可能であることを保証されたソフトウェアを実際に本番環境にデプロイするプロセスです。このプロセスは特にWebアプリケーションをビジネス基盤とすることが多い、BtoCビジネスにおいて実践されることが多いでしょう。ソフトウェアを通して顧客に価値をいち早く届け、フィードバックを得る(改善につなげる)ことが重要だからです。このプロセスでは確実にデプロイが実行されるように配慮された実行環境のプロビジョニング、万が一のときにはアプリケーションをロールバックする自動化手法が用いられます。

 

継続的デリバリー(CD)のメリット

・ソフトウェアのリリースプロセスの自動化
継続的デリバリー(CD)では、開発チームによるコード変更のビルド、テスト、運用環境へのリリースに向けた準備が自動化されるので、ソフトウェアの配信の効率が上がり、迅速に実施できます。

 

・開発者の生産性を向上
こうした手法は、開発者を手動作業から解放することによって開発チームの生産性を向上し、お客様にデプロイする前にエラーやバグを減らす努力を奨励するために役立ちます。

 

・バグを短時間で発見して対処できる
テストの頻度を上げ、その内容を充実させることにより、後になって大きな問題に発展する前に、バグを早期に発見して対処できます。また、継続的デリバリー(CD)によってプロセス全体が自動化されるので、自分のコードに付加的な種類のテストを簡単に実行できるようになります。

 

・更新を迅速に配信
継続的デリバリー(CD)は、開発チームがお客様に迅速かつ頻繁に更新を配信するために役立ちます。継続的デリバリー(CD)を適切に実装すると、開発者は、標準化されたテストプロセスに合格し、デプロイ準備の整ったビルド成果物を常に手元に持つことになります。

CD実現のためのツール「Jenkins」

継続的デリバリー(CD)を行う際は、継続的インテグレーション(CI)よりも複雑なビルドプロセスを頻繁に行うことになります。そのため、ツールによる自動化は必須で、そのプラットフォームとして多く利用されているのがJenkinsです。Jenkinsは、継続的デリバリー(CD)のための機能やプラグインも多く準備されています。

気をつける必要があるのは、Jenkinsで全てのビルドプロセスの自動化を行うものではないということです。テストやデプロイなどの各フェーズはそれぞれ専用のツールで自動化を行い、Jenkinsはどういったタイミングでどのツールを呼び出すかを指示し、エラーが出たら即座にフィードバックするという処理を行うようにします。

>>「Jenkinsとは?」詳細はこちら

CD実現のためのツール「Jenkins」


CD実現のための近道

 

テクマトリックスは、DevOps実現のための近道となる、自動化基盤の構築支援サービスを提供しています。貴社のご要望に応じてカスタマイズをしたうえで、CI/CDやソフトウェア構成管理システムをオンプレ環境、クラウド環境に構築いたします。

>>ソフトウェア開発基盤構築ソリューションの紹介はこちら(テクマトリックスサイトへ遷移します。)