継続的デリバリーにより、開発チームはソフトウェア開発ライフサイクルを通じてソフトウェアを移行するプロセスを自動化でき、統合ツールボックスをプロビジョニングする際に次のような多くのメリットが得られます。
次の動画では、Eric Minickが継続的デリバリーについて詳しく説明します。
継続的デリバリーを使用する際に考慮すべきベスト・プラクティスを以下に示します。
継続的デリバリーの利点を活用するには、継続的探索、継続的統合、継続的デプロイメント、オンデマンドでのリリースなど、継続的フレームワークの他の要素が必要です。
継続的デリバリー・パイプライン・ステージを使用する場合は、それらをステージ内の実行単位である個別のジョブに分割する必要があります。
継続的デリバリー・パイプラインは、開発チームに次のようなメリットをもたらします。
継続的デプロイメントは、継続的デリバリー・パイプラインの一部になり得ます。具体的には、継続的デリバリーとは、開発ライフサイクル(デリバリー・ライフサイクルと呼ばれることもある)を通じたコードの自動化された移動のことであり、継続的デプロイメントとは、そのコードが必要な自動テストに合格したら実稼働環境に自動的に移動させることです。
継続的デプロイメントをデリバリー・パイプラインの一部にするかどうかは、ビジネス・ニーズによって異なります。ビジネスにおいて、デリバリー・チームが新しいソフトウェアや更新されたソフトウェアを実稼働環境に繰り返し、確実に、あるいは可能な限り迅速にリリースする必要がある場合、あるいはソリューションに複数の依存関係がある場合は、継続的デプロイメントが有益である可能性が高いと言えます。
継続的デプロイメントと継続的デリバリーの違いの詳細については、次のビデオを参照してください。
継続的デリバリー・ツールを使用すると、オープンソース・ツールを使用してアプリケーションを構築、デプロイ、管理できます。一連のツールを統合することにより、開発チームだけでなく運用チームに対しても、繰り返し可能で管理可能なタスクを作成できます。
ツールボックスには、現在のクラウド・サービス、オープン・ソース・ツール、サードパーティー・ツールを含めることができますが、以下を含む継続的デリバリー・ツールも検討することをお勧めします。
強力な継続的デリバリー・パイプラインに使用できるオープンソースの継続的デリバリー・ツールには、Jenkins、Concourse CI、Spinnaker、Travis CI、GoCD、GitLab CIなどがあります。
アジャイルな継続的デリバリー
以前は、ソフトウェアを一度リリースして、それを更新するだけでした。その後、最初と最後にのみ顧客に相談して、ソフトウェアが顧客のニーズを満たしているかどうかを確認するようになりました。
アジャイルは、継続的デリバリー・スケジュールに従ってソフトウェアを短い反復で作成する方法であり、現在のアジャイル継続的デリバリー・プロセスは、定義された各機能が利用可能になるたびにコードを顧客にリリースできることを意味します。アジャイル開発と継続的デリバリーは、実稼働環境の準備が整ったらすぐに機能を顧客に提供するための鍵となります。目標は、パイプライン終了時に各機能をリリースできる状態にすることです。
アジャイル原則の利点の詳細はこちら。
DevOpsと継続的デリバリー
過去20年間で、ソフトウェア開発は標準的なウォーターフォールの概念からより効率的なアジャイル手法に移行し、大きな変化を遂げてきました。適応するには、アジャイル、DevOps、継続的デリバリーに重点を置いたアプローチに移行する必要があります。継続的デリバリー・パイプラインの一部として、これらの集中化されたプロセスにより、より信頼性が高く高品質なソフトウェアのリリースと更新が可能になります。
アジャイル開発を通じてより迅速かつ小規模なソフトウェア・リリースを行うと、ソフトウェア開発の個々の段階に重点が置かれるようになります。同時にDevOpsは、開発部門と運用部門が密接に融合し、コーディングからテスト、デプロイメント、サポートに至るまで、ソフトウェア開発ライフサイクル全体を手がける1つのチームとなるため、「全体像」と文化的変化に意識を集中させることができる。
DevOpsプロセスの詳細については、以下のビデオをご覧ください。
IBM Continuous Deliveryは、ツールチェーンのプロビジョニング、ビルドとテストの自動化、分析による品質管理を支援するクラウド・サービスです。
IBM UrbanCodeファミリーのソフトウェア製品は、アプリケーションの配信を加速し、手動プロセスを削減することで、ソフトウェアをより迅速に市場に提供するのに役立ちます。
KubernetesネイティブのCI/CDパイプラインを最高の速度と柔軟性で作成します。