CD(継続的デリバリー)


CDとは?

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

継続的デリバリー(CD)は、継続的インテグレーション(CI)を拡張した手法で、ビルドやテストだけでなく、リリースプロセス全体を自動化します。実施の目的はDevOpsと同様で、リリーススピードを上げることで、素早く市場からフィードバックを得られ、ソフトウェアに反映させることができます。ビジネス戦略を細かく修正しながら進めることで、リスクの低減とソフトウェアの競争力向上を目的とします。

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

この点は、運用環境へのデプロイが明示的な承認なしで自動的に行われる「継続的デプロイ」とは異なります。

 CD(継続的デリバリー)

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

 

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

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

Jenkinsは、継続的デリバリー(CD)のための機能やプラグインも多く準備されています。

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

Jenkinsの利用


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

ソフトウェアのリリースプロセスの自動化

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

開発者の生産性を向上

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

バグを短時間で発見して対処できる

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

更新を迅速に配信

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